【问题标题】:Apache Drill cannot connect to ZookeeperApache Drill 无法连接到 Zookeeper
【发布时间】:2018-01-02 07:06:22
【问题描述】:

我正在尝试在我的本地机器上以分布式模式配置 Apache Drill。为此,我已经在我的机器上安装了 Zookeeper,使用 /opt/zookeeper-3.4.11/conf/zoo.conf 配置文件中的以下配置(这里,sagar-pc 解析为我的 wlan0 inet addr):

tickTime = 2000
dataDir = /opt/zookeeper-3.4.11/data
clientPort = 2181
initLimit = 5
syncLimit = 2
server.1=sagar-pc:2888:3888

Zookeeper 服务运行成功,在启动 Apache Drill 后,它能够根据/opt/drill/conf/drill-override.conf 文件中给出的集群 ID 创建 znode。此外,状态检查告诉我:

drillbit 正在运行

Drill 的 Zookeeper 输出:

[zk: sagar-pc:2181(CONNECTED) 2] get /drill/drillbits1

cZxid = 0x4
ctime = Thu Dec 28 17:25:02 IST 2017
mZxid = 0x4
mtime = Thu Dec 28 17:25:02 IST 2017
pZxid = 0x4
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 0

/opt/drill/conf/drill-override.conf文件内容:

drill.exec: {
cluster-id: "drillbits1",
zk.connect: "sagar-pc:2181"
}

但是,即使按照所有这些步骤操作,当我尝试在 /opt/drill 目录中运行 bin/drill-conf 命令时,仍会出现以下错误:

从 ZooKeeper 中找不到活动的 Drillbit 端点。检查连接 参数?

在检查日志文件log/drillbit.out 时,我得到一个空指针异常。

Exception in thread "main" java.lang.NullPointerException
at org.apache.drill.exec.coord.zk.ZKClusterCoordinator.update(ZKClusterCoordinator.java:218)
at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:228)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:401)
at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:372)
at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:368)

版本:

动物园管理员 - 3.4.11

Apache Drill - 1.12.0

任何人都可以帮助确定我在这里做错了什么吗?我从这些链接中获得了帮助:

Starting Drill in Distributed Mode - Apache Drill

ZooKeeper Getting Started Guide

【问题讨论】:

  • 你检查过网络吗?意思是你可以通过例如连接吗?远程登录?
  • @tobi6 我没有想到它,因为 Drill 和 Zookeeper 能够相互交互(因此,driilibits1 znode)。 (还是)感谢你的建议。一旦我回到我的机器上就会检查。

标签: apache-zookeeper apache-drill


【解决方案1】:

@rusk 不确定这对您来说是否仍然是个问题,但似乎对于任何启动失败,drill 都会在 Drillbit.out 中打印相同的消息。事实证明,实际的失败原因记录在 log/drillbit.log 中。一旦我解决了导致启动失败的错误(在我的情况下,它是由于对 udf 目录的写权限——最初由不同的用户拥有/创建),服务似乎可以正常启动。希望这会有所帮助。

【讨论】:

    【解决方案2】:

    我得到了同样的错误。

    1. 停止钻孔
    2. 在zookeeper命令行中删除drill目录

      rmr /钻

    3. 重启演练

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-24
      • 1970-01-01
      相关资源
      最近更新 更多