首页 > 解决方案 > apache钻java.lang.NullPointerException

问题描述

我正在尝试在 Windows 下以嵌入式模式使用钻。但我有以下错误:

> sqlline.bat -u "jdbc:drill:zk=local"
DRILL_ARGS - " -u jdbc:drill:zk=local"
Calculating HADOOP_CLASSPATH ...
HBASE_HOME not detected...
Calculating Drill classpath...
java.lang.NullPointerException
apache drill 1.13.0
"a drill is a terrible thing to waste"
0: jdbc:drill:zk=local>
0: jdbc:drill:zk=local>
0: jdbc:drill:zk=local>
0: jdbc:drill:zk=local> show tables;
No current connection
0: jdbc:drill:zk=local>

您可以看到当前没有连接,并且 Web 控制台也不起作用。谢谢

编辑:添加日志文件内容。

2018-05-31 03:44:27,981 [main] INFO oadrill.common.config.DrillConfig - 在 115 毫秒内确定的配置和插件文件。基本配置:-jar:file:/C:/apache-drill-1.13.0/jars/drill-common-1.13.0.jar!/drill-default.conf

中间配置和插件文件,按优先顺序排列: - jar:file:/C:/apache-drill-1.13.0/jars/drill-storage-kafka-1.13.0.jar!/drill-module.conf - jar :file:/C:/apache-drill-1.13.0/jars/drill-opentsdb-storage-1.13.0.jar!/drill-module.conf - jar:file:/C:/apache-drill-1.13。 0/jars/drill-hive-exec-shaded-1.13.0.jar!/drill-module.conf - jar:file:/C:/apache-drill-1.13.0/jars/drill-java-exec-1.13 .0.jar!/drill-module.conf - jar:file:/C:/apache-drill-1.13.0/jars/drill-storage-hbase-1.13.0.jar!/drill-module.conf - jar :file:/C:/apache-drill-1.13.0/jars/drill-kudu-storage-1.13.0.jar!/drill-module.conf - jar:file:/C:/apache-drill-1.13。 0/jars/drill-logical-1.13.0.jar!/drill-module.conf - jar:file:/C:/apache-drill-1.13.0/jars/drill-jdbc-storage-1.13.0.jar !/drill-module.conf - jar:file:/C:/apache-drill-1.13。0/jars/drill-mongo-storage-1.13.0.jar!/drill-module.conf - jar:file:/C:/apache-drill-1.13.0/jars/drill-gis-1.13.0.jar !/drill-module.conf - jar:file:/C:/apache-drill-1.13.0/jars/drill-memory-base-1.13.0.jar!/drill-module.conf - jar:file:/ C:/apache-drill-1.13.0/jars/drill-common-1.13.0.jar!/drill-module.conf-jar:file:/C:/apache-drill-1.13.0/jars/drill- storage-hive-core-1.13.0.jar!/drill-module.conf

覆盖文件:file:/C:/apache-drill-1.13.0/conf/drill-override.conf 覆盖属性:-user = -password = -zk = local

2018-05-31 03:44:28,278 [main] 警告 oadrill.exec.util.GuavaPatcher - 无法修补 Guava 类。javassist.CannotCompileException:由 java.lang.LinkageError:加载程序(sun/misc/Launcher$AppClassLoader 的实例):尝试在 javassist.ClassPool.toClass(ClassPool 中为名称:“com/google/common/base/Stopwatch”重复类定义.java:1099) ~[javassist-3.16.1-GA.jar:na] 在 javassist.ClassPool.toClass(ClassPool.java:1042) ~[javassist-3.16.1-GA.jar:na] 在 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]在 org.apache.drill.exec.util.GuavaPatcher.patchStopwatch(GuavaPatcher.java:66) ~[drill-java-exec-1.13.0.jar:1.13.0] 在 org.apache.drill.exec.util。番石榴补丁。

标签: apache-drill

解决方案


您的 HADOOP_CLASSPATH 中有与 Drill 的不兼容的 Guava 版本。你可以在这里找到类似的问题:DRILL-4931 , DRILL-4928

尝试从您的 HADOOP_CLASSPATH 中排除 Guava jars,或者通过以下方式取消设置:
~$unset HADOOP_CLASSPATH

合并 PR for DRILL-6422后应解决此问题


推荐阅读