Apache Drill无法连接到Zookeeper

时间:2018-01-02 07:06:22

标签: apache-zookeeper apache-drill

我正在尝试以分布式模式在本地计算机上配置Apache Drill。为此,我已经在/opt/zookeeper-3.4.11/conf/zoo.conf配置文件中使用以下配置在我的机器上安装了Zookeeper(这里,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创建znodes。此外,状态检查告诉我:

  

钻头正在运行

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"
}

但是,即使执行了所有这些步骤后,当我尝试在bin/drill-conf目录中运行/opt/drill命令时,它也会出现以下错误:

  

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

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

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)

版本:

Zookeeper - 3.4.11

Apache Drill - 1.12.0

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

Starting Drill in Distributed Mode - Apache Drill

ZooKeeper Getting Started Guide

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我得到同样的错误。

  1. 停止钻
  2. zookeeper命令行中的
  3. 删除钻取目录

    rmr / drill

  4. 重新开始训练