栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hive 3.1.2 安装和运行 Install and Run Hive 3.1.2 踩坑

hive 3.1.2 安装和运行 Install and Run Hive 3.1.2 踩坑

因为根据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-java
3.2 创建软链接
$ ln -s /usr/share/java/mysql-connector-java.jar $HIVE_HOME/lib/mysql-connector-java.jar
3.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=false
4 启动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安装

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号