hiveserver启动出错的问题

本文介绍了一个关于HiveServer启动时遇到端口冲突的问题及解决方案。通过更改HiveServer的监听端口,成功避免了端口冲突并启动了服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用命令 hive --service hiveserver 启动服务出错,


org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000.
at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:93)
at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:75)
at org.apache.hadoop.hive.metastore.TServerSocketKeepAlive.<init>(TServerSocketKeepAlive.java:34)
at org.apache.hadoop.hive.service.HiveServer.main(HiveServer.java:675)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)


首先想到的是可能端口被占用,直接给hiveserver 重设端口启动

hive --service hiveserver -p 10001

启动成功,问题解决

### 启动 HiveServer2 的教程 #### 配置 HiveSite.xml 文件 为了确保 HiveServer2 能够正常运行,在 `hive-site.xml` 中应配置必要的参数。对于生产环境,建议开启用户模拟功能以保障不同用户间的权限隔离[^1]。 ```xml <property> <name>hive.server2.enable.doAs</name> <value>true</value> <description>Enable/disable user impersonation feature.</description> </property> ``` 此外,还需指定认证方式: ```xml <property> <name>hive.server2.authentication</name> <value>NONE</value> <description>The authentication method to use, NONE means no authentication is required.</description> </property> ``` 请注意,如果希望启用更严格的访问控制,则可以将上述 `<value>` 设置为其他选项如 LDAP 或 KERBEROS 等[^2]。 #### 启动命令 完成以上配置之后,可以通过如下 shell 命令来启动 HiveServer2 服务端进程: ```bash $HIVE_HOME/bin/hiveserver2 & ``` 这会以后台模式启动该服务器实例,并将其日志输出重定向到相应的文件中以便于后续排查问题。 #### 使用 JDBC 进行连接测试 一旦成功启动HiveServer2,就可以利用支持 JDBC 接口的应用程序(例如 FineReport 报表工具)来进行数据查询操作了[^3]。下面是一个简单的 Java 示例代码片段用于验证连通性: ```java import java.sql.Connection; import java.sql.DriverManager; public class TestConnection { public static void main(String[] args) throws Exception { Class.forName("org.apache.hive.jdbc.HiveDriver"); String url = "jdbc:hive2://localhost:10000/default"; Connection conn = DriverManager.getConnection(url); System.out.println("Connected successfully."); conn.close(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值