我正在尝试使用独立的hbase和phoenix创建一个docker映像。为了连接凤凰,它说我需要映射所有区域服务器端口。但是它们在不同的IP上运行。在let options = StorageDownloadDataRequest.Options(accessLevel: .protected)
Amplify.Storage.downloadData(key: "myKey", options: options) { (event) in
...
}
中具有本地dns。
/etc/hosts
这有帮助,但是<property>
<name>hbase.regionserver.ipc.address</name>
<value>0.0.0.0</value>
</property>
中的所有链接仍然通过localhost:16010
进行访问,该IP具有不同的IP。端口每次都会更改。
/etc/hosts
根据bash-5.0# netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:2181 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:16010 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:34319 0.0.0.0:* LISTEN
tcp 0 0 172.17.0.2:40207 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:37433 0.0.0.0:* LISTEN
bash-5.0# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 8474f280b183
,区域服务器位于localhost:16010
上,用于特定的容器。有没有办法修复所有端口并将其映射到容器外部,或者如何从容器外部连接到phoenix?
34319
答案 0 :(得分:0)
显然,实现的独立模式不能具有固定端口。使用伪分布式模式但不使用HDFS似乎可以解决此问题。
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
然后手动启动3次重传
CMD hbase-daemon.sh start zookeeper && \
hbase-daemon.sh start regionserver && \
hbase-daemon.sh foreground_start master
此外,添加这两个属性可以解决/etc/hosts
<property>
<name>hbase.master.hostname</name>
<value>localhost</value>
</property>
<property>
<name>hbase.regionserver.hostname</name>
<value>localhost</value>
</property>
P.S。仍然无法与凤凰建立联系,但这似乎是一个完全不同的问题。
P.S。实际上,这是有关的。还需要添加
<property>
<name>hbase.master.ipc.address</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hbase.regionserver.ipc.address</name>
<value>0.0.0.0</value>
</property>