Hi, Probably this might help: 1. Download *winutils.exe* and *hadoop.dll* from https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin 2. Put these 2 files in the */bin* folder of Drill 3. Set *HADOOP_HOME* (in environment variable) to the the directory which contains the Drill */bin *folder. Eg: If your folder structure is D:/folder1/folder2/apache-drill-some-version/bin, then set *HADOOP_HOME* to *D:/folder1/folder2/apache-drill-some-version*, so that HADOOP_HOME/bin contains winutils.exe and hadoop.dll
Please give this a try. It should solve your problem. After following the above mentioned steps, try starting Drill again. If this method works, HADOOP_HOME *won't* come out as "HADOOP_HOME not detected... ". Instead, you will get HADOOP_HOME as the path you set in the environment variable and Drill would start running fine. On Tue, May 29, 2018 at 4:04 PM, Richardson, David < david.richard...@uk.daiwacm.com> wrote: > I’ve spent the whole morning going through some things. > > 1). The windows PATH variable only has the path to the Java JDK in it. > 2). I’ve been through the class path output in the log file, and only has > references to files under C:\Program Files\Apache > Drill\apache-drill-1.13.0\jars > 3). I tried the UDF fix described below and this did not fix it (the > drill\udf\registry folder is created under my profile). > > Thinking about it logically (I have tried to run the Drill code base using > Intellij but got lots of dependency errors), the log throws an exception > when loading a jdbc driver (guava class issue), so I used jdeps to try to > find the clash in guava versions, and it looks like everything is using > guava-18.0 > > Also while digging around I found this on stackoverflow, this person gets > the same behaviour (it was asked only 5 days ago): > > https://stackoverflow.com/questions/50487014/apache- > drill-1-12-0-failure-in-starting-embedded-drillbit-and-no-current-conn > > and another developer that I work with followed the 10 minute tutorial and > got exactly the same behaviour, so that is 5 people(including > stackoverflow). > > What is interesting is that the guy on stackoverflow is also a Windows > user. Are there folk in the Drill community who use Windows desk tops, or > are most people using either Mac OS or Ubuntu? > > I really don’t know how to proceed. > > Dave. > > From: Charles Givre [mailto:cgi...@gmail.com] > Sent: 24 May 2018 19:21 > To: Richardson, David > Cc: user; Divya Gehlot > Subject: Re: Apache Drill in 10 Minutes - Problems > > I love helpful error messages ;-) Can you check the classpath to see if > there any additional classes that are there? I’ve gotten connection issues > like this when I had a database driver in the CLASSPATH. > > Also take a look at this response: http://mail-archives.apache. > org/mod_mbox/drill-user/201612.mbox/%3CDF1248D3D81CAF44B1FD58565206 > 18650c6698c...@sacvmsx15.phi.imsglobal.com%3E<http://mail- > archives.apache.org/mod_mbox/drill-user/201612.mbox/% > 3cdf1248d3d81caf44b1fd5856520618650c6698c...@sacvmsx15.phi. > imsglobal.com%3e> > > > — C > > > > On May 24, 2018, at 11:47, Richardson, David <David.Richardson@uk.daiwacm. > com<mailto:david.richard...@uk.daiwacm.com>> wrote: > > > Thank you. This gives us a wonderful exception: > > java.lang.NullPointerException > at org.apache.drill.exec.coord.local.LocalClusterCoordinator. > update(LocalClusterCoordinator.java:98) > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:228) > at org.apache.drill.jdbc.impl.DrillConnectionImpl.cleanup( > DrillConnectionImpl.java:827) > at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>( > DrillConnectionImpl.java:186) > at org.apache.drill.jdbc.impl.DrillJdbc41Factory. > newDrillConnection(DrillJdbc41Factory.java:73) > at org.apache.drill.jdbc.impl.DrillFactory.newConnection( > DrillFactory.java:69) > at org.apache.calcite.avatica.UnregisteredDriver.connect( > UnregisteredDriver.java:138) > at org.apache.drill.jdbc.Driver.connect(Driver.java:72) > at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168) > at sqlline.DatabaseConnection.getConnection( > DatabaseConnection.java:214) > at sqlline.DatabaseConnection.reconnect(DatabaseConnection. > java:221) > at sqlline.Commands.reconnect(Commands.java:434) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at sqlline.ReflectiveCommandHandler.execute( > ReflectiveCommandHandler.java:36) > at sqlline.SqlLine.dispatch(SqlLine.java:742) > at sqlline.SqlLine.begin(SqlLine.java:621) > at sqlline.SqlLine.start(SqlLine.java:375) > at sqlline.SqlLine.main(SqlLine.java:268) > > > Which is interesting, in that in the sqlline.log file, when the service > starts we get : > > javassist.CannotCompileException: by java.lang.LinkageError: loader > (instance of sun/misc/Launcher$AppClassLoader): attempted duplicate > class definition for name: "com/google/common/base/Stopwatch" > at javassist.ClassPool.toClass(ClassPool.java:1099) > ~[javassist-3.16.1-GA.jar:na] > at javassist.ClassPool.toClass(ClassPool.java:1042) > ~[javassist-3.16.1-GA.jar:na] > at javassist.ClassPool.toClass(ClassPool.java:1000) > ~[javassist-3.16.1-GA.jar:na] > at javassist.CtClass.toClass(CtClass.java:1140) > ~[javassist-3.16.1-GA.jar:na] > at > org.apache.drill.exec.util.GuavaPatcher.patchStopwatch(GuavaPatcher.java:66) > ~[drill-java-exec-1.13.0.jar:1.13.0] > at org.apache.drill.exec.util.GuavaPatcher.patch(GuavaPatcher.java:36) > ~[drill-java-exec-1.13.0.jar:1.13.0] > at org.apache.drill.exec.server.Drillbit.<clinit>(Drillbit.java:69) > [drill-java-exec-1.13.0.jar:1.13.0] > at > org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:134) > [drill-jdbc-1.13.0.jar:1.13.0] > at > org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:73) > [drill-jdbc-1.13.0.jar:1.13.0] > at > org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69) > [drill-jdbc-1.13.0.jar:1.13.0] > at > org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138) > [avatica-1.10.0.jar:1.10.0] > at org.apache.drill.jdbc.Driver.connect(Driver.java:72) > [drill-jdbc-1.13.0.jar:1.13.0] > at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168) > [sqlline-1.1.9-drill-r7.jar:na] > at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:214) > [sqlline-1.1.9-drill-r7.jar:na] > at sqlline.Commands.connect(Commands.java:1083) > [sqlline-1.1.9-drill-r7.jar:na] > at sqlline.Commands.connect(Commands.java:1015) > [sqlline-1.1.9-drill-r7.jar:na] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_171] > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171] > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171] > at sqlline.ReflectiveCommandHandler.execute( > ReflectiveCommandHandler.java:36) [sqlline-1.1.9-drill-r7.jar:na] > at sqlline.SqlLine.dispatch(SqlLine.java:742) > [sqlline-1.1.9-drill-r7.jar:na] > at sqlline.SqlLine.initArgs(SqlLine.java:528) > [sqlline-1.1.9-drill-r7.jar:na] > at sqlline.SqlLine.begin(SqlLine.java:596) > [sqlline-1.1.9-drill-r7.jar:na] > at sqlline.SqlLine.start(SqlLine.java:375) > [sqlline-1.1.9-drill-r7.jar:na] > at sqlline.SqlLine.main(SqlLine.java:268) > [sqlline-1.1.9-drill-r7.jar:na] > Caused by: java.lang.LinkageError: loader (instance of > sun/misc/Launcher$AppClassLoader): > attempted duplicate class definition for name: "com/google/common/base/ > Stopwatch" > at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_171] > at java.lang.ClassLoader.defineClass(ClassLoader.java:763) > ~[na:1.8.0_171] > at java.lang.ClassLoader.defineClass(ClassLoader.java:642) > ~[na:1.8.0_171] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[na:1.8.0_171] > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171] > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171] > at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171] > at javassist.ClassPool.toClass2(ClassPool.java:1112) > ~[javassist-3.16.1-GA.jar:na] > at javassist.ClassPool.toClass(ClassPool.java:1093) > ~[javassist-3.16.1-GA.jar:na] > > and the following line is common to both : > > at org.apache.calcite.avatica.UnregisteredDriver.connect( > UnregisteredDriver.java:138) > > What do you think? > > Dave. > > > > From: Charles Givre [mailto:cgi...@gmail.com] > Sent: 24 May 2018 16:31 > To: user > Cc: Divya Gehlot; Richardson, David > Subject: Re: Apache Drill in 10 Minutes - Problems > > Hi Dave, > Can you do the following: > 1. Start Drill and execute the following query: > !set verbose true > > 2. Then: > !reconnect > > And send the complete output? > > > > > > On May 24, 2018, at 11:05, Richardson, David <David.Richardson@uk.daiwacm. > com<mailto:david.richard...@uk.daiwacm.com>> wrote: > > Hi Divya. > > I’ve tried both 1.10 and 1.11, they exhibit the same behaviour. > > To try to get to the root cause of the issue I removed everything from my > PATH variable except for the path to the Java 8 JDK. > > Another colleague of mine (that is 3 of us now) has also tried the 10 > minute tutorial and is getting the same behaviour. > > Charles commented that it could be a problem with a storage plugin. I’ve > noticed that config for the default plugins gets written to > C:\tmp\drill\sys.storage_plugins, but from the documentation I cannot > figure out how to turn the default plugins off. > > Any thoughts? > > Dave. > > From: Divya Gehlot [mailto:divya.htco...@gmail.com] > Sent: 24 May 2018 11:04 > To: user@drill.apache.org<mailto:user@drill.apache.org>; Richardson, David > Subject: Re: Apache Drill in 10 Minutes - Problems > > CAUTION EXTERNAL EMAIL > DO NOT open attachments or click on links from unknown senders or within > unexpected emails. > > hi David , > Can you try with Drill 1.10 or Drill 1.11 version? > Both works fine and I have tested it . > > > Thanks, > Divya > > On 23 May 2018 at 16:11, Richardson, David <David.Richardson@uk.daiwacm. > com<mailto:david.richard...@uk.daiwacm.com><mailto:David. > richard...@uk.daiwacm.com>> wrote: > Hi folk. > > My self and a colleague have both (independently) been trying the Apache > Drill in 10 Minutes tutorial, and have both failed to get Apache Drill to > work. > > We both experience the same symptoms. These are: > > > 1. when running a test query the “No current connection” message is > returned > > 2. unable to connect to the Web Console (using any one of : > localhost; fully qualified machine name; ip address) > > 3. when issuing the !quit command an exception is thrown > > We are using Windows 7 work stations with JDK/JRE 1.8.0_171 > > Our JAVA_HOME points to the correct version of the JDK, and the path to > the Java\jdk1.8.0_171\bin is in the PATH environment variable. To make > sure that Windows picked up the environment variable changes we rebooted. > > I’ve attached the sqlline.log (sensitive data masked by XXXXXXXX), and the > console output is below. > > Your help would be much appreciated. > > Many thanks. > > Dave. > > Command line output > > C:\Program Files\Apache Drill\apache-drill-1.13.0\bin>sqlline.bat -u > "jdbc:drill:zk=local" > DRILL_ARGS - " -u jdbc:drill:zk=local" > HADOOP_HOME not detected... > HBASE_HOME not detected... > Calculating Drill classpath... > java.lang.NullPointerException > apache drill 1.13.0 > "a little sql for your nosql" > 0: jdbc:drill:zk=local> select version from sys.version; > No current connection > 0: jdbc:drill:zk=local> !quit > java.lang.NullPointerException > at org.apache.drill.exec.coord.local.LocalClusterCoordinator. > update(LocalClusterCoordinator.java:98) > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:228) > at org.apache.drill.jdbc.impl.DrillConnectionImpl.cleanup( > DrillConnectionImpl.java:827) > at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>( > DrillConnectionImpl.java:186) > at org.apache.drill.jdbc.impl.DrillJdbc41Factory. > newDrillConnection(DrillJdbc41Factory.java:73) > at org.apache.drill.jdbc.impl.DrillFactory.newConnection( > DrillFactory.java:69) > at org.apache.calcite.avatica.UnregisteredDriver.connect( > UnregisteredDriver.java:138) > at org.apache.drill.jdbc.Driver.connect(Driver.java:72) > at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168) > at sqlline.DatabaseConnection.getConnection( > DatabaseConnection.java:214) > at sqlline.Commands.close(Commands.java:925) > at sqlline.Commands.quit(Commands.java:889) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at sqlline.ReflectiveCommandHandler.execute( > ReflectiveCommandHandler.java:36) > at sqlline.SqlLine.dispatch(SqlLine.java:742) > at sqlline.SqlLine.begin(SqlLine.java:621) > at sqlline.SqlLine.start(SqlLine.java:375) > at sqlline.SqlLine.main(SqlLine.java:268) > java.lang.NullPointerException > at org.apache.drill.exec.coord.local.LocalClusterCoordinator. > update(LocalClusterCoordinator.java:98) > at org.apache.drill.exec.server.Drillbit.close(Drillbit.java:228) > at org.apache.drill.jdbc.impl.DrillConnectionImpl.cleanup( > DrillConnectionImpl.java:827) > at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>( > DrillConnectionImpl.java:186) > at org.apache.drill.jdbc.impl.DrillJdbc41Factory. > newDrillConnection(DrillJdbc41Factory.java:73) > at org.apache.drill.jdbc.impl.DrillFactory.newConnection( > DrillFactory.java:69) > at org.apache.calcite.avatica.UnregisteredDriver.connect( > UnregisteredDriver.java:138) > at org.apache.drill.jdbc.Driver.connect(Driver.java:72) > at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168) > at sqlline.DatabaseConnection.getConnection( > DatabaseConnection.java:214) > at sqlline.Commands.close(Commands.java:925) > at sqlline.Commands.closeall(Commands.java:899) > at sqlline.SqlLine.begin(SqlLine.java:649) > at sqlline.SqlLine.start(SqlLine.java:375) > at sqlline.SqlLine.main(SqlLine.java:268) > > > **************************************************************** > Daiwa Capital Markets Europe Limited is registered in England (registered > number 01487359). The registered office is at 5 King William Street, London > EC4N<https://maps.google.com/?q=5+King+William+Street,+ > London+EC4N&entry=gmail&source=g> 7AX. The company is authorised and > regulated by The Financial Conduct Authority and is a member of the London > Stock Exchange. > > The information contained in this E-Mail is confidential unless the sender > has specifically stated otherwise. If you are not the intended recipient > please notify Daiwa Capital Markets Europe Limited at the sender's address > and delete it immediately. Communications sent by or to any person through > our computer systems may be viewed by other personnel and agents of Daiwa > Capital Markets Europe Limited . The sender does not intend by sending this > message to form a contract with the recipient, and Daiwa Capital Markets > Europe Limited, its affiliates and staff do not accept any liability for > the contents of this message. > > The information contained herein has been obtained from sources we believe > to be reliable but we do not represent that it is accurate or complete, and > therefore, Daiwa Capital Markets Europe Limited, its affiliates and staff > cannot be held responsible or liable for the contents of this message. The > foregoing is not an offer or solicitation to buy or sell any security, > instrument or investment. In addition Daiwa Capital Markets Europe Limited, > or any affiliated company, may have an interest, position, or effect > transactions, in any investment mentioned herein. Any opinions or > recommendations expressed herein are solely those of the author or analyst. > > Where you have received a communication from Daiwa Capital Markets Europe > Limited this may include information which constitutes an investment > recommendation as defined by the European Market Abuse Regulation (MAR). In > this context, please see for important regulatory information in this > regard: http://www.uk.daiwacm.com/7131.aspx. If you have any questions in > relation to MAR and its impact on your relationship with Daiwa Capital > Markets Europe Limited please let your salesperson know. > > > **************************************************************** > Daiwa Capital Markets Europe Limited is registered in England (registered > number 01487359). The registered office is at 5 King William Street, London > EC4N 7AX. The company is authorised and regulated by The Financial Conduct > Authority and is a member of the London Stock Exchange. > > The information contained in this E-Mail is confidential unless the sender > has specifically stated otherwise. If you are not the intended recipient > please notify Daiwa Capital Markets Europe Limited at the sender's address > and delete it immediately. Communications sent by or to any person through > our computer systems may be viewed by other personnel and agents of Daiwa > Capital Markets Europe Limited . The sender does not intend by sending this > message to form a contract with the recipient, and Daiwa Capital Markets > Europe Limited, its affiliates and staff do not accept any liability for > the contents of this message. > > The information contained herein has been obtained from sources we believe > to be reliable but we do not represent that it is accurate or complete, and > therefore, Daiwa Capital Markets Europe Limited, its affiliates and staff > cannot be held responsible or liable for the contents of this message. The > foregoing is not an offer or solicitation to buy or sell any security, > instrument or investment. In addition Daiwa Capital Markets Europe Limited, > or any affiliated company, may have an interest, position, or effect > transactions, in any investment mentioned herein. Any opinions or > recommendations expressed herein are solely those of the author or analyst. > > Where you have received a communication from Daiwa Capital Markets Europe > Limited this may include information which constitutes an investment > recommendation as defined by the European Market Abuse Regulation (MAR). In > this context, please see for important regulatory information in this > regard: http://www.uk.daiwacm.com/7131.aspx. If you have any questions in > relation to MAR and its impact on your relationship with Daiwa Capital > Markets Europe Limited please let your salesperson know. > > > **************************************************************** > Daiwa Capital Markets Europe Limited is registered in England (registered > number 01487359). The registered office is at 5 King William Street, London > EC4N 7AX. The company is authorised and regulated by The Financial Conduct > Authority and is a member of the London Stock Exchange. > > The information contained in this E-Mail is confidential unless the sender > has specifically stated otherwise. If you are not the intended recipient > please notify Daiwa Capital Markets Europe Limited at the sender's address > and delete it immediately. Communications sent by or to any person through > our computer systems may be viewed by other personnel and agents of Daiwa > Capital Markets Europe Limited . The sender does not intend by sending this > message to form a contract with the recipient, and Daiwa Capital Markets > Europe Limited, its affiliates and staff do not accept any liability for > the contents of this message. > > The information contained herein has been obtained from sources we believe > to be reliable but we do not represent that it is accurate or complete, and > therefore, Daiwa Capital Markets Europe Limited, its affiliates and staff > cannot be held responsible or liable for the contents of this message. The > foregoing is not an offer or solicitation to buy or sell any security, > instrument or investment. In addition Daiwa Capital Markets Europe Limited, > or any affiliated company, may have an interest, position, or effect > transactions, in any investment mentioned herein. Any opinions or > recommendations expressed herein are solely those of the author or analyst. > > Where you have received a communication from Daiwa Capital Markets Europe > Limited this may include information which constitutes an investment > recommendation as defined by the European Market Abuse Regulation (MAR). In > this context, please see for important regulatory information in this > regard: http://www.uk.daiwacm.com/7131.aspx. If you have any questions in > relation to MAR and its impact on your relationship with Daiwa Capital > Markets Europe Limited please let your salesperson know. > > > **************************************************************** > Daiwa Capital Markets Europe Limited is registered in England (registered > number 01487359). The registered office is at 5 King William Street, London > EC4N 7AX. The company is authorised and regulated by The Financial Conduct > Authority and is a member of the London Stock Exchange. > > The information contained in this E-Mail is confidential unless the sender > has specifically stated otherwise. If you are not the intended recipient > please notify Daiwa Capital Markets Europe Limited at the sender's address > and delete it immediately. Communications sent by or to any person through > our computer systems may be viewed by other personnel and agents of Daiwa > Capital Markets Europe Limited . The sender does not intend by sending this > message to form a contract with the recipient, and Daiwa Capital Markets > Europe Limited, its affiliates and staff do not accept any liability for > the contents of this message. > > The information contained herein has been obtained from sources we believe > to be reliable but we do not represent that it is accurate or complete, and > therefore, Daiwa Capital Markets Europe Limited, its affiliates and staff > cannot be held responsible or liable for the contents of this message. The > foregoing is not an offer or solicitation to buy or sell any security, > instrument or investment. In addition Daiwa Capital Markets Europe Limited, > or any affiliated company, may have an interest, position, or effect > transactions, in any investment mentioned herein. Any opinions or > recommendations expressed herein are solely those of the author or analyst. > > Where you have received a communication from Daiwa Capital Markets Europe > Limited this may include information which constitutes an investment > recommendation as defined by the European Market Abuse Regulation (MAR). In > this context, please see for important regulatory information in this > regard: http://www.uk.daiwacm.com/7131.aspx. If you have any questions in > relation to MAR and its impact on your relationship with Daiwa Capital > Markets Europe Limited please let your salesperson know. > -- Regards, Shuporno Choudhury