hadoop分布式集群hive-mysql的安装配置
2017-08-14 09:13
801 查看
Hive的安装
前言
已经安装hadoop,并且可以成功运行。MySQL的安装
下载
安装mysql不仅仅是安装mysql的客户端,还要安装mysql的服务端通过yum库来下载mysql
yum install -y mysql
好的,现在mysql下载完成了!
启动服务
下载完mysql,执行mysql -u root -p
报错
应该是mysql的服务没起来。执行
service mysql start报错”mysql: unrecognized service”
来到
vi /etc/my.cnf
mysqld配置文件
有一个mysqld,原来mysqld才是用来启动mysql数据库的命令
执行
service mysqld start
启动mysql的守护线程 再来运行
mysql -u root -p
启动完成
对MySQL进行配置
创建hive用户,数据库等insert into mysql.user(Host,User,Password) values("localhost","hive",password("hive")); create database hive; grant all on hive.* to hive@'%' identified by 'hive'; // 使用户可以远程连接 grant all on hive.* to hive@'localhost' identified by 'hive'; // 使用户可以本地连接
mysql -u hive -p hive
尝试登录一下 看看用户名密码是否设置成功
Hive安装
下载
去官网下载apache-hive-2.3.0-bin.tar.gz安装
tar -zxvf apache-hive-2.3.0-bin.tar.gz
并移动到自己想要放置的地方
配置路径
这一步可以不进行,但推荐还是配置一下环境变量 这样就不用每次都跑到hive/bin下面去启动hive了vi /etc/profile
添加
export HIVE_HOME=/usr/local/hive export PATH=$HIVE_HOME/bin:$PATH
source /etc/profile
下载mysql jdbc jar包,解压并把mysql-connector-java-5.1.43目录下的mysql-connector-java-5.1.6-bin.jar拷贝到hive 的lib下面
cp mysql-connector-java-5.1.6-bin.jar /usr/local/hive/lib
配置文件
在hive文件夹下cd conf/
运行
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
cp hive-exec-log4j.properties.template hive-exec-log4j.properties
cp hive-log4j.properties.template hive-log4j.properties
把四个template文件都先处理一下
hive-env.sh
vi hive-env.sh
在此文件中加入
export JAVA_HOME=/opt/softwares/jdk1.8.0_131 export JRE_HOME=/opt/softwares/jdk1.8.0_131/jre export HADOOP_HOME=/usr/local/hadoop export HIVE_CONF_DIR=/usr/local/hive/conf export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$PATH export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export HIVE_AUX_JARS_PATH=$HIVE_HOME/bin export HIVE_CONF_DIR=$HIVE_HOME/conf export HADOOP_USER_CLASSPATH_FIRST=true
hive-site.xml
vi hive-site.xml
当进入到这个文件是崩溃的应为参数太多了,虽然很麻烦,但也只能一点一点慢慢来了
利用 /**来查找我们要修改的参数如 :
/**javax.jdo.option.ConnectionURL
找到之后,只需要把value的值改掉就好了
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/hive_metadata?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore. To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL. For example, jdbc:postgresql://myhost/db?ssl=true for postgres database. </description> </property>
所连接的MySQL数据库实例,localhost的话应该是伪分布式来使用的,所以我这里是master这样子三个机器用master上的mysql
<property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBCmetastore</description> </property>
连接的MySQL数据库驱动
<property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>username to use against metastoredatabase</description> </property>
连接的MySQL数据库用户名
<property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> <description>password to use against metastoredatabase</description> </property>
连接的MySQL数据库密码
<property> <name>hive.metastore.uris</name> <value>thrift://master:9083</value> <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description> </property>
元数据mysql远程模式配置。如果hive.metastore.uris属性为空,则默认为本地模式,否则为远程模式
没有用到hdfs,这一块还是有点缺失的。(有需求的博友们,可以再多查一点资料,我的也只能是仅供参考了吧,毕竟新手还做不到完美配置)
启动Hive
来到根目录下,先启动hadoopstart-all.sh
然后
hive
启动hive输入show tables;
验证是否安装成功
遇到的问题
hive启动后运行show tables;出现报错FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantidata.SessionHiveMetaStoreClient
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantidata.SessionHiveMetaStoreClient
这个问题的原因是HivedMetaStore服务没有启动需要手动启动一下
hive --service metastore &
接着上面的问题HivedMetaStore服务启动失败 报错
Caused by: org.datanucleus.store.rdbms.exceptions.MissingTableException: Required table missing : “
DBS” in Catalog “” Schema “”. DataNucleus requires this table to perform its persistence operations. Either your MetaData is
a7b1
incorrect, or you need to enable “datanucleus.schema.autoCreateTables”
需要到hive-site.xml中找到datanucleus.schema.autoCreateAll 把value改成true。再启动HivedMetaStore服务,接着启动hive。show tables; 成功运行。
参考
https://cwiki.apache.org/confluence/display/Hive/GettingStartedhttp://blog.csdn.net/asia_kobe/article/details/50866382
http://blog.csdn.net/an342647823/article/details/46048403
因为这一篇拖的太久了,图片损失掉了很多,并且遇到的一些问题也没有记全,还是希望对大家有帮助。若发现有不对的地方请联系博主,谢谢。
相关文章推荐
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- hive2.1.0+mysql5.1本地模式+Hadoop完全分布式集群的安装与配置
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- hadoop集群配置之hive1.2.0安装部署(远程mysql)
- 搭建3个节点的hadoop集群(完全分布式部署)--2安装mysql及hive
- 完全分布模式hadoop集群安装配置之二 添加新节点组成分布式集群
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)
- Hadoop2.6.2完全分布式集群HA模式安装配置详解
- Hadoop2.6.2完全分布式集群HA模式安装配置详解
- Centos7 hadoop集群 mysql、hive、sentry安装验证
- hadoop集群安装与配置---hive安装与配置
- Hbase完全分布式集群安装配置(Hbase1.0.0,Hadoop2.6.0)
- 在hadoop集群上安装hive和mysql
- 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南
- Hadoop 2.6 集群搭建从零开始之3 Hadoop的安装与配置(伪分布式环境)
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~) .
- mysql5.7.18安装、Hive2.1.1安装和配置(基于Hadoop2.7.3集群)
- hadoop1.2.1集群安装hive1.2.0,用mysql作为元数据库
- Ubuntu15.04单机/伪分布式安装配置Hadoop与Hive试验机