我正在尝试以分布式模式在本地计算机上配置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
任何人都可以帮助确定我在这里做错了什么吗?我从这些链接中获得了帮助:
答案 0 :(得分:0)
@rusk不确定这是否仍然是您的问题,但似乎对于任何启动失败演练,都在drillbit.out中打印相同的消息。原来是实际的失败原因记录在log / drillbit.log中。一旦解决了导致启动失败的错误(在我的情况下,这是由于对udf目录的写许可权-首先是由其他用户拥有/创建的),该服务似乎可以正常启动。希望这会有所帮助。
答案 1 :(得分:0)
我得到同样的错误。
删除钻取目录
rmr / drill
重新开始训练