Hi,

I am new to Apache Drill and start to study the Drill RPC protocol recently.    
I try to follow Michael's instruction to run Apache Drill I a 3-node clusters

https://github.com/mhausenblas/apache-drill-sandbox/tree/master/M1

Instead of downloading the binary tarball,  I build the tarball from the source 
code.

$ mvn package

Then I start drillbit but get some exceptions:
$ ./bin/drillbit.sh start

Exception in thread "main" java.lang.NoClassDefFoundError: 
io/netty/buffer/PooledByteBufAllocatorL
        at 
org.apache.drill.exec.memory.DirectBufferAllocator.<init>(DirectBufferAllocator.java:27)
        at 
org.apache.drill.exec.memory.BufferAllocator.getAllocator(BufferAllocator.java:84)
        at 
org.apache.drill.exec.server.BootStrapContext.<init>(BootStrapContext.java:44)
        at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:85)
        at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:50)
        at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:43)
        at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:65)
Caused by: java.lang.ClassNotFoundException: 
io.netty.buffer.PooledByteBufAllocatorL
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 7 more
Exception in thread "ShutdownHook" java.lang.NullPointerException
        at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:105)
        at 
org.apache.drill.exec.server.Drillbit$ShutdownThread.run(Drillbit.java:125)

It seems that the generated binary tarball missed the following jar files:

exec/bufferl/target/drill-netty-bufferl-4.0.7.Final.jar
exec/ref/target/drill-ref-1.0.0-m2-incubating-SNAPSHOT.jar
sqlparser/target/drill-sqlparser-1.0.0-m2-incubating-SNAPSHOT.jar

My solution is to modify "distribution/src/assemble/bin.xml " to  add missing 
jars to tarball.  I attached the patch here.

Is that the correct way to do it?

Thanks,

Xiao

Reply via email to