【发布时间】:2017-04-21 19:19:14
【问题描述】:
我在 docker 容器中启动 hbase,并希望客户端代码能够连接到 hbase rpc 服务器端口。问题是:它总是不同的(从临时端口范围中随机选择)。
查看 hbase 代码(https://github.com/apache/hbase/blob/9facfa550f1e7386be3a04d84f7e8013f5002965/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java,第 1078 行的 bindAddress)我发现我可以通过设置“hbase.regionserver.port”或“hbase.master.port”来覆盖端口”。
我尝试在 hbase-conf.xml 中设置这些,但没有任何效果 - 端口仍然是随机的,好像这些属性被解析为 0。
我该如何改变?
【问题讨论】:
-
默认情况下,它们分别是
16000和16020用于 master 和 regionserver。是什么让您认为它们是随机选择的? -
hbase 日志:
ipc.RpcServer: master/localhost/127.0.0.1:0: started 10 reader(s) listening on port=40897在这种情况下,它是端口40897,但每次都不同。它可能由其他一些属性控制,但从源代码中我指定它应该查看 hbase.regionserver.port,对吗?
标签: hbase