I am trying to configure Apache Drill on my local machine in a distributed mode. For this, I have already installed Zookeeper on my machine using the following configuration in /opt/zookeeper-3.4.11/conf/zoo.conf configuration file (Here, sagar-pc resolves to my 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 service runs successfully and after starting Apache Drill, it is able to create znodes as per the cluster ID given in the /opt/drill/conf/drill-override.conf file. Also, status check tells me that:
drillbit is running
Zookeeper output for Drill:
[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 file contents:
drill.exec: {
cluster-id: "drillbits1",
zk.connect: "sagar-pc:2181"
}
However, even after following all these steps, when I try to run bin/drill-conf command in /opt/drill directory, it gives me the following error:
No active Drillbit endpoint found from ZooKeeper. Check connection parameters?
And while checking the log file log/drillbit.out, I get a Null pointer exception.
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)
Versions:
Zookeeper - 3.4.11
Apache Drill - 1.12.0
Can anyone help in identifying what I am doing wrong here? I have taken help from these links: