Just Do IT !

Hive beeline Hiveserver2

字数统计: 362阅读时长: 1 min
2019/09/29 Share

HiveServer2

HiveServer 2(HS2)是一种服务,使客户端能够对Hive执行查询。HiveServer 2是HiveServer 1的继承者,HiveServer 1已被废弃。HS2支持多客户端并发和身份验证。它的设计是为了更好地支持开放API客户机,如JDBC和ODBC。HS2是一个作为复合服务运行的单个进程,它包括基于Thwift的Hive服务(TCP或HTTP)和用于WebUI的JettyWeb服务器。

启动HiveServer2

在bin目录下

./hiveserver2

启动hive的服务:

[root@hdp20-04 hive-1.2.1]# bin/hiveserver2 -hiveconf hive.root.logger=DEBUG,console

上述启动,会将这个服务启动在前台,如果要启动在后台,则命令如下:

nohup bin/hiveserver2 1>/dev/null 2>&1 &

& 后台输出
1,标准输出
2,错误输出

/dev/null ,Linux中的黑洞,表示不存储信息;
nohup,用户即使退出,程序也会在后台运行

在这里插入图片描述

使用beeline连接hive2时报错

Error: Could not open client transport with JDBC Uri: jdbc:hive2://master:10000/default: java.net.ConnectException: 拒绝连接 (Connection refused) (state=08S01,code=0)

原因:
在这里插入图片描述
解决方法:
hadoop的core-site.xml进行配置,在文件里面添加并保存

<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>

重启hadoop

启动hiveserver2

hiveserver2

查看hiveserver2启动状态

netstat -nptl | grep 10000

接着启动beeline

beeline

最后使用jdbc连接数据库

!connect jdbc:hive2://master:10000/default

CATALOG
  1. 1. HiveServer2
  2. 2. 启动HiveServer2
    1. 2.1. 使用beeline连接hive2时报错
      1. 2.1.1. 启动hiveserver2