准备
版本:hive2.3.2
解压hive
tar -zxvf hive2.3.2
解压好后,hive下conf需要一个hive-site.xml文件,hive目录中没有,需要复制hive-default.xml.template 为hive-site.xml
命令:cp hive-default.xml.template hive-site.sh
设置hive环境变量
进入hive,通过pwd赋值,配置HIVE_HOME和PATH。
cd hive2.3.2
hive=`pwd`
命令:echo export HIVE_HOME=$hive >> ~/.bashrc
命令:echo export PATH=\$PATH:$HIVE_HOME/bin
刷新环境变量
命令:source ~/.bahsrc
设置site.xml
需要在hive-site.xml中设置元数据库的数据地址、驱动、连接MySQL数据库的用户名密码、数据库存放位置等
进入site.xml文件
vi hive-site.xml
设置元数据地址
/ +想要查找的字符串
javax.jdo.option.ConnectionURL
更改 value 值:
jdbc:mysql://python2:3306/hive?autoReconnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
注意:
python代表的是主机名
所查找的内容统统是在<name>中,修改的内容在<value>中。
有时查到的内容有许多条,而当前条又不是我们需要的,可通过 n 和 p上下操作。
n 在命令模式下如果同时编辑多个文件,则继续编辑下一个文件。
设置驱动
/javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
更改mysql的用户名:
/javax.jdo.option.ConnectionUserName
更改value值:你的mysql用户名
这里APP代表的是你的连接的mysql数据库的用户名
更改mysql的密码:
/javax.jdo.option.ConnectionPassword
更改value值:你的mysql密码
设置默认创建路径
/hive.metastore.warehouse.dir
可不更改。
连接mysql数据库
准备:下载wget命令,下载缺失jar。
yum install wget -y (root权限下使用该命令)
hive的lib文件夹缺失jar,进入lib,下载缺失jar
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
启动hive前,需要启动hadoop集群中的dfs和yarn(hadoop用户下启动,非root)
start-dfs.sh
start-yarn.sh
如h果没启动会拒绝连接,如下图
格式化mysql
schematool -dbType mysql -initSchema
报错:未授权远程连接
解决问题:mysql下开启远程连接(上一篇有如何开启远程连接命令)
命令: hive
出现错误:缺少一个绝对路径
解决方法:在hadoop用户下创建一个hivetemp目录并且通过pwd得到它的绝对路径
在hive-site.xml中添加绝对路径,共4处
修改如下:
修改完后,就可以启动hive。
beeline启动hive
hiveserver2
复制渠道,在hive的bin目录下启动启动beeline
./beeline -u jdbc:hive2://