【发布时间】:2016-03-07 20:54:36
【问题描述】:
我正在使用:
- Hadoop 2.7.1 单节点
- HBase 1.1.2 和 HDFS,单节点
- 凤凰4.6
一切都在 Docker 上运行,在不同的容器上,通过 Docker 网络 (https://docs.docker.com/engine/userguide/networking/dockernetworks/)。
我复制了罐子:
cp /usr/local/phoenix/phoenix-4.6.0-HBase-1.1-server.jar /usr/local/hbase/lib/
运行 HBase 没问题。
如果我在 HBase 容器中使用 /usr/local/phoenix/sqlline.py localhost,则工作正常。但是如果我在另一台机器上运行同样的东西,我就会超时。
我可以看到 HBase zookeeper 正在获取连接:
hbase_1 | 2015-12-03 09:45:46,702 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.NIOServerCnxnFactory: Accepted socket connection from /192.168.1.53:50672
hbase_1 | 2015-12-03 09:45:46,702 INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181] server.ZooKeeperServer: Client attempting to establish new session at /192.168.1.53:50672
hbase_1 | 2015-12-03 09:45:46,705 INFO [SyncThread:0] server.ZooKeeperServer: Established session 0x151673a1af20017 with negotiated timeout 40000 for client /192.168.1.53:50672
使用 Phoenix 查询服务器和 ./sqlline-thin.py(来自任何机器,甚至来自 SQuirrel)都可以很好地工作。
因此我的问题是,我如何检查 Phoenix 是否与 HBase 设置良好?
或者这只是 Zookeeper 的问题?
谢谢,
【问题讨论】:
-
这是一个网络问题,zookeeper 将本地 Docker 主机名作为 HBase 主机名发送,所以我找不到它。但是错误不是很清楚...
-
你究竟是如何解决这个问题的?有什么提示吗?我遇到了类似的问题,而且我对 Zookeeper 的了解不够,所以我们将不胜感激。
-
你能说说你是怎么解决的吗?