为什么我在嵌入模式下尝试启动 apache 时会出错?

问题描述

win10,64 位,本地没有 hadoop 变量(或两者都试过)。在测试 api 时需要钻取以访问数据库。 JAVA_HOME 设置正确,因为 PATH 也包含 jdc bin 文件夹的目录。当我尝试启动钻孔嵌入.bat 时,我收到以下错误消息(未满,原因堆栈不允许粘贴更大的代码段):

Error: Failure in starting embedded Drillbit: UNSUPPORTED_OPERATION ERROR: Failure while attempting to load instance of the class of type org.apache.drill.exec.store.StoragePluginRegistry requested at path drill.exec.storage.registry.


[Error Id: 3a07daa6-a6bc-4a8e-996a-67bc3aa3a9f4 ] (state=,code=0)
java.sql.sqlException: Failure in starting embedded Drillbit: UNSUPPORTED_OPERATION ERROR: Failure while attempting to load instance of the class of type org.apache.drill.exec.store.StoragePluginRegistry requested at path drill.exec.storage.registry.


[Error Id: 3a07daa6-a6bc-4a8e-996a-67bc3aa3a9f4 ]
        at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:137)
        at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
        at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:67)
        at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
        at org.apache.drill.jdbc.Driver.connect(Driver.java:75)
        at sqlline.DatabaseConnection.connect(DatabaseConnection.java:135)
        at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:192)
        at sqlline.Commands.connect(Commands.java:1364)
        at sqlline.Commands.connect(Commands.java:1244)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
        at sqlline.sqlLine.dispatch(sqlLine.java:730)
        at sqlline.sqlLine.initArgs(sqlLine.java:410)
        at sqlline.sqlLine.begin(sqlLine.java:515)
        at sqlline.sqlLine.start(sqlLine.java:267)
        at sqlline.sqlLine.main(sqlLine.java:206)
Caused by: org.apache.drill.common.exceptions.UserException: UNSUPPORTED_OPERATION ERROR: Failure while attempting to load instance of the class of type org.apache.drill.exec.store.StoragePluginRegistry requested at path drill.exec.storage.registry.
   

'''

解决方法

这是一个奇怪的错误。您使用的是哪个版本的 Drill?

如果你使用这个命令有什么不同:

sqlline.bat -u "jdbc:drill:zk=local"

看起来正在发生的是存储插件注册表以某种方式损坏。如果存储插件文件是手动编辑的,或者在 Drill 之外进行了其他更改,则可能会发生这种情况。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...