- 一、 环境
- 二、先下载需要用到的环境
- 三、开始安装
- 四、配置文件
- 五、使用beeline连接hiveserver2
- 六、参考
centos版本:7
hive版本:2.3.7
hadoop版本:2.10.1
mysql版本:5.7.35
java版本:1.8.0_231
链接: link.
hive的bin包、mysql的驱动包、hadoop版本包、java包,mysql我使用的是yum下载所以就没有包提供了。
首先讲hive的包拉到虚拟机里比如我的包在如下位置:
然后我们使用如下命令:tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /opt/MySoft/MySoftWare
将包安装到指定目录
然后我们改个名,使用如下命令:mv apache-hive-2.3.7-bin.tar.gz hive-2.3.7
改完名之后我们到/etc/profile.d 里面创建一个文件vim hive.sh,写这个文件是为了方便后续使用,相当于windows的环境变量的设置
文件内容:
使用:source /etc/profile更新配置或者单更新hive.sh也可以
然后用hive --version看看是否有如下信息,有的话代表完成了hive环境变量的配置。
更新完文件之后设置hive的配置文件 进入到$HIVE_HOME/conf目录下($HIVE_HOME是我们刚刚配置的hive的路径) 可以看到这几个文件:四、配置文件
我们首先配置hive-site.xml文件,这里文件一开始是没有的,我们要用以下命令通过模版创建出来 cp hive-default.xml.template hive-default.xml
以及 cp hive-env.sh.template hive-env.sh
我们先写hive-env.sh文件
配置如下:
加入如上四条就可以了
再配置hive-site.xml文件
我这里用的是nodepad++根据name查找然后再进行修改的,大家也可以尝试
javax.jdo.option.ConnectionURL jdbc:mysql://192.168.37.9:3306/hive?createDatabaseIfNotExist=true&useSSL=false javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456 hive.metastore.schema.verification false hive.cli.print.current.db true hive.cli.print.header true hive.server2.thrift.port 10000 hive.server2.thrift.bind.host 192.168.37.9 hive.server2.thrift.client.user root Username to use against thrift client. default is 'anonymous' hive.server2.thrift.client.password 123456 Password to use against thrift client. default is 'anonymous'
还有一个日志问题,在$HIVE_HOME下创建一个tmp文件夹,并给他权限
chmod -R 777 $HIVE_HOME/tmp
再在这个tmp下新建一个文件夹再赋予权限
chmod -R 777 $HIVE_HOME/tmp/root
然后要将hive-site.xml的${system:java.io.tmpdir}替换成hive的路径/tmp
例如:/opt/MySoft/MySoftWare/hive-2.3.7/tmp
再将${system:user.name} 替换成root
回到$HIVE_HOME/conf 复制hive-log4j2.properties.template 为hive-log4j2.properties
cp hive-log4j2.properties.template hive-log4j2.properties
进入将${system:java.io.tmpdir} 也更改成hive的路径/conf 还有${system:user.name} 替换成root
以上就完成了对hive进行的配置,接下来要将mysql的驱动包丢到$HIVE_HOME/lib下面,这样子才能完成元数据库的初始化。
移动好mysql的驱动包之后运行如下命令:schematool -dbType mysql -initSchema
如果执行不了可能是hive的环境变量不对,可以看看之前的配置。
这时出现如下信息就是成功了!
然后就可以输入hive看看hive是不是成功了。如果是像我这样就是成功了:
hive成功之后,我们要配置一下hadoop下面的配置文件core-site.xml,添加如下配置让beeline可以成功连接hiveserver2:
hadoop.proxyuser.root.hosts * hadoop.proxyuser.root.groups * hadoop.proxyuser.blueautumn.hosts * hadoop.proxyuser.blueautumn.groups * hive.server2.thrift.client.user root Username to use against thrift client. default is 'anonymous' hive.server2.thrift.client.password 123456 Password to use against thrift client. default is 'anonymous'
配置完之后我们重启hadoop服务器,然后输入以下命令来启动metastore服务
hive --service metastore &
像我这样卡在这里是正常的,因为启动的是一个服务,也可以输入别的可以后台启动,有需要的话可以自行搜索。
接下来就复制一个会话,输入以下命令启动hiveserver2
hive --service hiveserver2 & 或者 hiveserver2 &
像我这样卡住也是正常的。
然后用jps可以看到现在有两个Runjar存在
一个是metastore服务一个是hiveserver2服务
现在就可以进行beeline连接hiveserver2了
输入命令:beeline -u jdbc:hive2://192.168.37.9:10000 -n root -p 123456
获取先输入beeline 进入到beeline的命令行之后再输入:
!connect jdbc:hive2://192.168.37.9:1000 -n root -p 123456
之前参考过的地方:
链接: https://blog.csdn.net/leanaoo/article/details/83351240.
链接: https://blog.csdn.net/weixin_34356138/article/details/92424900.
第一次做博客,希望有问题大家可以指出~~~~
以上是我这两天搭建环境的时候整理出来的,因为我自己卡住了很久,所以我想把这个分享出来,这样有人需要的话也可以很快上手,谢谢大家~~~



