赞
踩
因为根据hive官网的安装文档没有走通,这里主要是复述官网,同时对不同的地方进行更正。
这里不包含mysql的安装。
解压缩安装包
$ tar -xzvf hive-x.y.z.tar.gz
添加hive的bin路径到用户的path(使得可以通过用户的path找到hive的可运行文件)
在~/.bashrc最后添加
export PATH=$PATH:/path/to/hiveBinDirectory # 这里填写自己机器上hive的bin文件夹的路径
hive把metastore存储在数据库里,官方文档用的是derby,如果跟着官方文档走,这里可以跳过,笔者因为官方文档走不通,选择的是mysql。
$ sudo apt-get install libmysql-java
$ ln -s /usr/share/java/mysql-connector-java.jar $HIVE_HOME/lib/mysql-connector-java.jar
conf/hive-site.xml
- <configuration>
- <property>
- <name>javax.jdo.option.ConnectionURL</name>
- <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
- <description>metadata is stored in a MySQL server</description>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionDriverName</name>
- <value>com.mysql.jdbc.Driver</value>
- <description>MySQL JDBC driver class</description>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionUserName</name>
- <value>hiveuser</value>
- <description>user name for connecting to mysql server</description>
- </property>
- <property>
- <name>javax.jdo.option.ConnectionPassword</name>
- <value>hivepassword</value>
- <description>password for connecting to mysql server</description>
- </property>
- </configuration>

这里有几个配置项
mysql的jdbc连接地址,以及mysql用户名密码
我个人踩得一个坑是,
当我填写了下面以后,hive metastore service启动报错: 大概意思需要填写useSSL=false
jdbc:mysql://192.x.x.x:3306/metastore?createDatabaseIfNotExist=true
我就改成了下面这样,注意xml文件里url里的 & 需要写成 & (最后有个分号,别忘了)
jdbc:mysql://192.x.x.x:3306/metastore?createDatabaseIfNotExist=true&useSSL=false
我个人主要踩坑在这里,跟着官方文档走,发生错误没有任何提示,笔者所以添加第3步,连接mysql
官方文档是如下
- # Starting from Hive 2.1, we need to run the schematool command below as an initialization step.
- $ $HIVE_HOME/bin/schematool -dbType derby -initSchema
-
- # run HiveServer2
- $ $HIVE_HOME/bin/hiveserver2
可以用以下命令查看hiveserver2是否成功启动
$ netstat -nltp|grep 10000
如果没有成功的话有以下
- # 启动metastore (大量日志)
- $ hive --service metastore --hiveconf hive.root.logger=INFO,console
-
- # 查看输出是否有报错,或者可以通过检查端口9083来判断有没有成功
- $ netstat -nltp|grep 9083
-
- # 初始化schema (大量日志)
- $ $HIVE_HOME/bin/schematool -dbType mysql -initSchema -verbose
-
- # 启动hiveserver2 (大量日志)
- $ hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10000 --hiveconf hive.root.logger=INFO,console
-
- # 查看输出是否有报错,或者可以通过检查端口10000来判断有没有成功
- $ netstat -nltp|grep 10000
我的问题一开始是初始化schema用derby的时候报错,改成mysql以后,是启动metastore的时候有mysql连接 ssl的错误,通过修改jdbc连接的地址来解决
- # 安装 OpenJDK 8
- $ sudo apt-get install openjdk-8-jdk
安装以后,可以通过 which java 命令查看安装位置
- $ sudo apt-get install ssh
- $ sudo apt-get install pdsh
解压缩文件,编辑etc/hadoop/hadoop-env.sh,只要能确保 {所填的路径}/bin/java 是java运行路径,我上面安装openjdk8的java在 /usr/bin/java ,这里填的 /usr
export JAVA_HOME=
参考文档:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。