前言

​ 太久没用hive了,今天想重新熟悉一下,结果发现自己甚至忘记了怎么启动。。于是特此记录篇笔记,便于以后忘记时查阅,不会写的太细。

​ 顺便从这篇文章开始改变自己文章的格式,以前都是乱整,想稍微更好看一点。

hive的启动与连接

启动hadoop

​ 以root权限登录hadoop中心节点计算机(亲测用户登录不能启动hadoop),使用以下命令开启hadoop集群。

1
start-all.sh

​ 可以通过以下代码查看是否成功启动hadoop。

1
jps

​ 输出长这样:

​ 这时候就可以访问hadoop网页了:http://ip:9870,ip为你hadoop中心节点计算机ip。

​ 顺便提一下yarn的默认端口:8088

启动hive

​ 这一步与许多教程不一样,可能是版本原因。root登录你安装hive的计算机,我的就在hadoop中心计算机上,在没有配置环境变量的情况下,进入hive安装目录:

1
cd /export/servers/hive-3.1.2/

​ 然后启动hive metastore服务,这一步可以后台启动也可以前台启动。我现在使用前台启动,因为可以看到日志。使用前台启动之后这个命令框就不能动了。接下来开另一个命令框,如果不想再开命令框,可以选择后台启动。

1
2
前台启动:bin/hive --service metastore
后台启动:nohup bin/hive --service metastore &

​ 在启动metastore服务后,同样在hive安装目录下接着启动hiveserver2服务:

1
2
前台启动:bin/hive --service hiveserver2
后台启动:nohup bin/hive --service hiveserver2 &

​ 如果是前台启动,成功后会看到Hive session ID过十几秒会变一个。到此hive服务完全启动。接下来就是hive连接了。关于hive连接没啥好注意的,和mysql连接差不多。不过注意hive默认是不需要密码的。所以账号输root,密码填空就行。测试链接,如果没问题的话hiveserver2那边的命令框会跳出"OK"。

一些注意事项

​ 今天在启动hive服务时出现了连接不上的情况,经过分析发现是因为我前台启动然后ctrl+z(因为用的Xshell所以是ctrl+z,等同ctrl+c)后程序并没有被完全杀死。然后我又开了一个后台启动,就出错了。所以退出服务后一定要检查jps,如果程序还在一定要先kill -9。

​ 正常情况下,开启了metastore和hiveserver2后jps显示的只有两个Runjar。如果不是两个说明可能开多了。