无法连接到hiveserver2

kxe2p93d  于 2021-05-30  发布在  Hadoop
关注(0)|答案(7)|浏览(599)

我有一个cdh5.3示例。我首先从命令行启动配置单元元存储,然后启动配置单元服务器,从而启动hive-server2。在此之后,我使用直线连接到我的Hive服务器2,但显然它不能这样做。

Could not open connection to jdbc:hive2://localhost:10000: java.net.ConnectException: Connection refused (state=08S01,code=0)

另一个问题是,我试图查看hive-server2是否正在监听端口10000。“我做到了” sudo netstat -tulpn | grep :10000 “但是没有一个申请被提出来。我还在hive-site.xml中添加了以下属性,但没有效果。为什么它没有出现在netstat上?

<property>
   <name>hive.server2.thrift.port</name>
   <value>10000</value>
   <description>TCP port number to listen on, default 10000</description>
 </property>

直线上的connect命令:

!connect jdbc:hive2://localhost:10000 org.apache.hive.jdbc.HiveDriver

当要求输入用户名和密码时,我只需输入相应值的test“user”和“password”,然后它就会抛出错误。任何帮助都将不胜感激

zour9fqk

zour9fqk1#

您必须提供hiveserver2用户名和密码在hive-site.xml中检查它默认用户名(匿名)和密码(匿名),否则只需输入enter而不提供密码和用户名。

luaexgnf

luaexgnf2#

我也有同样的问题。这仅仅是因为 hiveserver2 启动失败--错误不会显示在控制台中,而是显示在配置单元日志中。在我的例子中,配置单元日志位于 /tmp/ubuntu/hive.log 你可能有不同的理由 hive-server2 启动失败,但绝对值得查看此日志文件。

xkftehaa

xkftehaa3#

请确保hive2service部署ip。
我遇到同样的问题,我使用cloudera服务器ip(.42)连接hive2服务;但事实上,HiveThrift服务(hive2service)是在另一台机器(.41)上存储的。

fzsnzjdm

fzsnzjdm4#

Hive连接到直线从客户端具有各种模式。
1.嵌入式模式:服务器和客户端在同一台机器上运行。不需要tcp连接。

If hive.server2.authentication is "NONE" in HIVE_HOME/conf/hive-site.xml then connect beeline with below url

Connection URL:
               !connect jdbc:hive2://

2远程模式:支持多个客户端通过以下认证方案执行查询。
身份验证方案:

i.)SASL Authentication:

   If value of "hive.server2.authentication" property in HIVE_HOME/conf/hive-site.xml to be set as "SASL" then connect hive beeline with below url

   Beeline URL:
             !connect jdbc:hive2://<host>:<port>/<db>

ii.)NOSASL Authentication:
   If "hive.server2.authentication" is nosasl then connect the beeline like below.
   Beeline URL:

             !connect jdbc:hive2://<host>:<port>/<db>;auth=noSasl

希望这真的对你有帮助
参考文献:
https://docs.hortonworks.com/hdpdocuments/hdp2/hdp-2.3.2/bk_dataintegration/content/beeline-vs-hive-cli.html

6psbrbz9

6psbrbz95#

下面这些对我有用。如果您是第一次安装和配置配置配置单元并尝试从直线连接,请确保在当前终端中使用以下命令启动配置单元服务

>hive --service hiverserver2 &

hiver2的进程id出现在控制台中。然后使用其他终端重试从直线连接到hive:

>beeline -u "jdbc:hive2://localhost:10000/default" -n <username> -p <password> -d "org.apache.hive.jdbc.HiveDriver"
q3qa4bjr

q3qa4bjr6#

尝试使用详细选项,以便可以查看更多详细信息。。。

beeline -u "jdbc:hive2://localhost:10000/default;user=user;password=*******" --verbose
vbkedwbf

vbkedwbf7#

在这种情况下,您的hiveserver2服务未启动。请按照步骤进行检查和修复。步骤:1.查看hive.log文件以检查“service:hiveserver2 is 开始。”

1) find / -name hive.log
2) vim hive.log
  in hive.log file ,if you can not find "Service:HiveServer2 is started.",then prove hiveserver2 is not started.

2.启动hiveserver2命令:./bin/hiveserver2
3.查看hive.log。如果您能找到“service:hiveserver2 is 在hive.log中。然后通过直线连接hiveserver2。
4.连接hiveserver2./bin/beeline!连接jdbc:hive2://localhost:10000
5.可提供以下信息。

Beeline version 1.2.1 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000
Connecting to jdbc:hive2://localhost:10000
Enter username for jdbc:hive2://localhost:10000: root
Enter password for jdbc:hive2://localhost:10000:******
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ

相关问题