映射phoenix的hbase端口

时间:2019-12-29 15:30:22

标签: docker hbase phoenix

我正在尝试使用独立的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

1 个答案:

答案 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>