【问题标题】:Check if Phoenix server is correctly setup with HBase检查 Phoenix 服务器是否使用 HBase 正确设置
【发布时间】: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 的了解不够,所以我们将不胜感激。
  • 你能说说你是怎么解决的吗?

标签: hbase phoenix


【解决方案1】:

是 Zookeeper / 网络问题。

调试此类问题的一个好方法是使用 zkCli 工具或 Zookeeper Rest API 查询 Zookeeper 以获取密钥 /hbase/master 的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-29
    • 2022-07-23
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多