我在一个Docker容器中启动hbase并希望客户端代码能够连接到hbase rpc服务器端口。问题是:它总是不同(从短暂端口范围中随机选择)。如何指定hbase的RPC服务器端口?
寻找通过HBase的代码(https://github.com/apache/hbase/blob/9facfa550f1e7386be3a04d84f7e8013f5002965/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java,bindAddress从管线1078)我发现我可以通过设置 “hbase.regionserver.port” 或 “hbase.master.port” 覆盖端口。
我试着在HBase的-conf.xml中,但没有任何效果设置这些 - 端口仍然是随机的,因为如果这些属性被解析为0
如何改变这种状况?
默认情况下,它们是用于master和regionserver的'16000'和'16020'。什么让你觉得他们是随机选择的? – franklinsijo
hbase log:'ipc.RpcServer:master/localhost/127.0.0.1:0:启动10个端口读取器= 40897' 在这种情况下,它的端口是'40897',但每次都不一样。它可能受到其他一些属性的控制,但是从我指定的源代码中应该查看** hbase.regionserver.port **,对吗? – Art