Apache Phoenix 和 zookeeper 端口映射

Apache Phoenix and zookeeper port mapping

我正在尝试连接到几乎所有端口都被锁定的集群上的远程 Phoenix 服务器。

通过 ssh 连接到 master 并将 2181 映射到 zookeeper,我成功连接到该集群上的 hbase 服务器。 (= status 命令在 hbase shell 中正常工作)

但是,当我尝试远程连接到 phoenix 服务器时,它挂起并且没有打印任何错误消息:

$ ./sqlline.py localhost
Setting property: [isolation, TRANSACTION_READ_COMMITTED]
issuing: !connect jdbc:phoenix:localhost none none org.apache.phoenix.jdbc.PhoenixDriver
Connecting to jdbc:phoenix:localhost
15/10/07 16:00:38 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

我已经确认集群上的本地 Phoenix 工作正常。所以,我断定服务器配置是正确的。

我想知道 Phoenix 是否使用了 zookeeper 端口以外的任何端口。

经过更多调查,我发现区域服务器端口(hbase 1+ 中的 16020 和 hbase 0.98 中的 60020)在该环境中未打开。

它为 hbase shell 工作的原因是 hbase shell 在需要时连接到区域服务器(当查询该区域服务器上的区域时),但 phoenix 连接首先给他们所有人。