Windows10下Apache Drill 1.12.0启动失败及连接问题求助
从你提供的验证信息来看,JAVA_HOME的配置是完全正确的,这一点可以从以下输出确认:
C:\Users\Dinesh>java -version java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode) C:\Users\Dinesh>javac -version javac 1.8.0_171 C:\Users\Dinesh>echo %JAVA_HOME% C:\Program Files\Java\jdk1.8.0_171
真正的故障根源出在存储插件配置文件上,你遇到的核心错误:
启动嵌入式Drillbit失败,报错无法反序列化"/tmp/drill/sys.storage_plugins/openTSDB.sys.drill",核心原因是无法将类型ID 'openTSDB'解析为org.apache.drill.common.logical.StoragePluginConfig的子类型。
这说明openTSDB存储插件的配置文件已损坏,或者Drill 1.12.0版本本身不支持该插件类型,直接导致Drillbit服务启动失败——而Drill的Web控制台、查询功能都依赖于Drillbit,因此才会出现"no current connection"和控制台无法访问的连锁问题。
具体修复步骤:
步骤1:定位并删除损坏的插件文件
Windows系统下,Drill的临时配置目录并非Linux的/tmp,实际路径是:C:\Users\Dinesh\AppData\Local\Temp\drill\sys.storage_plugins
找到其中的openTSDB.sys.drill文件并删除。步骤2:重置存储插件配置(若步骤1无效)
如果删除单个文件后仍无法启动,可以直接删除整个sys.storage_plugins目录。Drill启动时会自动生成默认的存储插件配置,彻底绕过损坏的文件。步骤3:重新启动Drill并验证
打开命令提示符,进入Apache Drill的安装目录,运行嵌入式模式启动命令:bin\sqlline.bat -u jdbc:drill:zk=local启动成功后,访问
http://localhost:8047即可正常打开Web控制台,此时发送查询也不会再出现"no current connection"错误。步骤4:避免后续问题(可选)
若你确实需要使用openTSDB插件,请确认该插件版本与Drill 1.12.0兼容,且配置格式符合该版本Drill的要求——旧版本Drill对部分存储插件的支持有限,建议参考官方文档使用推荐的插件版本。
内容的提问来源于stack exchange,提问作者Dinesh Sonachalam

