因为根据hive官网的安装文档没有走通,这里主要是复述官网,同时对不同的地方进行更正。
这里不包含mysql的安装。
操作系统是windows 10虚拟机软件是 vmware workstation pro 16.1(15.x和16.0都会蓝屏)虚拟机操作系统是ubuntu 16 1 前置安装:(这部分安装附录在末尾)
java 1.8hadoop 2.10.1(hive官方文档写推荐hadoop 2.x, 这里找到hadoop下载页,最新的hadoop2.x版本。 2 开始安装(这部分和官网一样)
解压缩安装包
$ tar -xzvf hive-x.y.z.tar.gz
添加hive的bin路径到用户的path(使得可以通过用户的path找到hive的可运行文件)
在~/.bashrc最后添加
export PATH=$PATH:/path/to/hiveBinDirectory # 这里填写自己机器上hive的bin文件夹的路径3 连接mysql(跟官方文档可跳过)
hive把metastore存储在数据库里,官方文档用的是derby,如果跟着官方文档走,这里可以跳过,笔者因为官方文档走不通,选择的是mysql。
3.1 安装mysql java connector$ sudo apt-get install libmysql-java3.2 创建软链接
$ ln -s /usr/share/java/mysql-connector-java.jar $HIVE_HOME/lib/mysql-connector-java.jar3.3 需要在hive目录下conf文件夹新建hive-site.xml文件
conf/hive-site.xml
javax.jdo.option.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true metadata is stored in a MySQL server javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver MySQL JDBC driver class javax.jdo.option.ConnectionUserName hiveuser user name for connecting to mysql server javax.jdo.option.ConnectionPassword hivepassword password for connecting to mysql server
这里有几个配置项
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=false4 启动hiveserver2
我个人主要踩坑在这里,跟着官方文档走,发生错误没有任何提示,笔者所以添加第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连接的地址来解决
5 前置安装 5.1 jdk 1.8# 安装 OpenJDK 8 $ sudo apt-get install openjdk-8-jdk
安装以后,可以通过 which java 命令查看安装位置
5.2 hadoop安装$ 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=
参考文档:
Hive官网 - GettingStarted
hadoop java版本兼容性
hive metastore mysql配置
debug hiveserver2启动问题
debug hiveserver2
ubuntu16安装java
hadoop安装



