我们之前使用的Shell方式与Hive交互只是Hive交互方式中的一种,还有一种就是将Hive启动为服务,然后运行在一个节点上,那么剩下的节点就可以使用客户端来连接它,从而也可以使用Hive的数据分析服务。
前台模式
可以使用下面的命令来将Hive启动为服务。
/root/apps/hive-1.2.1/bin/hiveserver2
后台模式
也可以用下面的命令在后台启动Hive服务。
nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &
使用beeline连接Hive
我们就在amaster上使用Hive自带的beeline来连接Hive。
/root/apps/hive-1.2.1/bin/beenline
命令提示行变成如下的样子:
Beeline version 1.2.1 by Apache Hive
beeline>
使用下面的命令连接服务端:
!connect jdbc:hive2://localhost:10000
默认使用启动Hive的用户名我这里是root,密码为空,连上了。
0: jdbc:hive2://localhost:10000>
尝试执行几个命令:
show databases;
0: jdbc:hive2://localhost:10000> show databases;
+----------------+--+
| database_name |
+----------------+--+
| default |
| test_db |
+----------------+--+
2 rows selected (1.651 seconds)
select * from t_test;
0: jdbc:hive2://localhost:10000> select * from t_test;
+------------+--------------+--+
| t_test.id | t_test.name |
+------------+--------------+--+
| 1 | 张三 |
| 2 | 李四 |
| 3 | 风凌 |
| 4 | 三少 |
| 5 | 月关 |
| 6 | abc |
+------------+--------------+--+