无法 运行 Apache Drill windows 7

Unable to run Apache Drill windows 7

我正在尝试在 Windows 7 上 运行 Apache Drill,我有文档中提供的要求,但是当我在终端中 运行 它时,我收到此错误:

Error: Failure in starting embedded Drillbit: java.lang.RuntimeException: Unable to deserialize "/tmp/drill/sys.storage_plugins/dfs.sys.drill" (state=,code=0)
java.sql.SQLException: Failure in starting embedded Drillbit: java.lang.RuntimeException: Unable to deserialize "/tmp/drill/sys.storage_plugins/dfs.sys.drill"
at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:109)
at org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:66)
at org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69)
at net.hydromatic.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:126)
at org.apache.drill.jdbc.Driver.connect(Driver.java:78)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:167)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:213)
at sqlline.Commands.connect(Commands.java:1083)
at sqlline.Commands.connect(Commands.java:1015)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36)
at sqlline.SqlLine.dispatch(SqlLine.java:734)
at sqlline.SqlLine.initArgs(SqlLine.java:519)
at sqlline.SqlLine.begin(SqlLine.java:587)
at sqlline.SqlLine.start(SqlLine.java:366)
at sqlline.SqlLine.main(SqlLine.java:259)
Caused by: java.lang.RuntimeException: Unable to deserialize "/tmp/drill/sys.storage_plugins/dfs.sys.drill"
at org.apache.drill.exec.store.sys.local.FilePStore.get(FilePStore.java:140)
at org.apache.drill.exec.store.sys.local.FilePStore$Iter$DeferredEntry.getValue(FilePStore.java:219)
at org.apache.drill.exec.store.StoragePluginRegistry.createPlugins(StoragePluginRegistry.java:168)
at org.apache.drill.exec.store.StoragePluginRegistry.init(StoragePluginRegistry.java:132)
at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:244)
at org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:100)
... 18 more
Caused by: com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input
at [Source: [B@6c8d3583; line: 1, column: 1]
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148)
at com.fasterxml.jackson.databind.ObjectReader._initForReading(ObjectReader.java:1351)
at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1252)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:912)
at org.apache.drill.exec.store.sys.serialize.JacksonSerializer.deserialize(JacksonSerializer.java:44)
at org.apache.drill.exec.store.sys.local.FilePStore.get(FilePStore.java:138)
... 23 more

当我转到 tmp 文件夹时,我只找到一个文件

有谁知道如何解决这个问题? 谢谢

delete/move 文件夹 /tmp/drill/sys.storage_plugins & 重新开始练习。它将在开始练习时创建文件夹,现在通过比较新旧来找到问题。 它对我有用。

谢谢大家, 当我用另一台计算机在同一位置创建的文件替换 /tmp/drill/sys.storage_plugins 时,它起作用了,我仍然不知道为什么这台计算机不能创建所有这些文件,但至少现在是这样有用 !

现在是 2018 年 03 月 2 日,对于尝试在 Windows 10...

以下是对我有用的方法:仅将 Drill 安装到

C:\apache-drill-1.12.0*

请注意,这会创建一个

C:\tmp\sys.storage_plugins\ directory RATHER than DELETE this directory, I simply MOVED this directory temporarily to my laptop's desktop;

然后我重新启动了 Drill Shell,如下所示...

启动一个通用的 Windows 10 cmd 控制台

cd to C:\apache-drill-1.12.0\bin\ EXECUTE this command: sqlline sqlline.bat -u "jdbc:drill:zk=local;schema=dfs"

结果:我得到以下(美妙的)初始化输出:

DRILL_ARGS - " sqlline.bat -u jdbc:drill:zk=local;schema=dfs" 正在计算 HADOOP_CLASSPATH ... HBASE_HOME 未检测到...正在计算 Drill 类路径...已拾取 _JAVA_OPTIONS:-Xmx512M -Xms512M 2018 年 3 月 2 日 8:36:33 下午 org.glassfish.jersey.server.ApplicationHandler 初始化信息:启动 Jersey 应用程序,版本 Jersey:2.8 2014-04-29 01:25:26... 属性 "url" 需要 apache drill 1.12.0 "what ever the mind of man can conceive and believe, drill can query"

0: jdbc:drill:zk=local>

从这里我发出了 "SHOW DATABASES;" 命令...并且成功了!

0: jdbc:drill:zk=local> SHOW DATABASES; +---------------------+ | SCHEMA_NAME | +---------------------+ | INFORMATION_SCHEMA | | cp.default | | dfs.default | | dfs.root | | dfs.tmp | | sys | +---------------------+ 6 rows selected (5.797 seconds) 0: jdbc:drill:zk=local>