hiveserver2启动成功但无法通过beeline连接

可能是配置的问题。

我将hive.metastore.uris从配置文件中注释掉之后解决了hiveserver2启动成功但无法通过beeline连接的问题。

复制代码
[root@node03 conf]# vi hive-site.xml

        <property>
            <name>hive.metastore.warehouse.dir</name>
            <value>/user/hive_remote/warehouse</value>
        </property>
         <property>
            <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node01/hive_remote?createDatabaseIfNotExist=true</value>
         </property>
        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionUserName</name>
            <value>root</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionPassword</name>
            <value>123</value>
        </property>
        <property>
                 <name>hive.server2.thrift.port</name>
                 <value>10000</value>
        </property>

        <property>
                <name>hive.server2.thrift.bind.host</name>
                <value>node03</value>
        </property>
<!--  <property>
                 <name>hive.metastore.uris</name>
                 <value>thrift://node03:9083</value>
        </property> -->
</configuration>
复制代码

 ---------------------------------------------------------

问题过程:

我创建了4台centos虚拟机,node03做hive的mestore和hiveserver2节点,node04做hive客户端。

在node使用hiveserver2命令之后,在hive04使用beeline连接时出现无法连接的问题:

[root@node04 conf]# beeline -u jdbc:hive2://node03:10000/default -n root
Connecting to jdbc:hive2://node03:10000/default
Error: Could not open client transport with JDBC Uri: jdbc:hive2://node03:10000/default: java.net.ConnectException: Connection refused (Connection refused) (state=08S01,code=0)
Beeline version 1.2.2 by Apache Hive
0: jdbc:hive2://node03:10000/default (closed)>

首先想到去查看10000端口的状态:

发现10000端口已经启用了,这就很奇怪了。

想了一会儿,尝试把metastore也启动起来看看,启动metastore之后发现node04居然可以连接了!

自己对hive-site.xml配置也不是很熟悉,但是之前搭建hive的时候确实遇到过hiverserver2无法启动的问题,当时好像删掉了什么东西。

既然metastore的配置和hiveserver2的配置有关联(?),那就去掉一个试试。

于是把node03中hive-site.xml里的metastore的配置去掉(其实hive服务端好像也没必要配置metastore uri,只要客户端知道在哪不就行了吗),重新启动hiveserver2,在node04再次用beeline连接,竟然可以了???

 

posted @   梦醒江南·Infinite  阅读(5572)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示