最近在dremio 25.0 版本碰到了一些问题,以下说明下原因以及处理

问题现象

  • 问题

实际上此问题是执行节点报的错误,并不是协调节点的,早期一直以为是协调节点的,结果通过分析调试发现是协调节点报的错误

The source [xxxx] is currently unavailable. Metadata is not accessible; please check node health (or external storage) and permissions

原因

通过开启执行节点的本地日志,发现核心是dremio 在启动的时候发现协调节点访问不通(比如协调节点启动比较慢)然后执行节点的一些服务就启动异常了,造成一些检查服务异常(实际上就是存储插件的默认值了),执行节点的日志可以比较清晰的看出来

解决方法

方法实际很简单,就是重启执行节点,或者对于实际环境应该在协调节点启动之后在启动执行节点

说明

详细的内部处理待仔细研究之后我结合源码说明下

参考资料

sabot/kernel/src/main/java/com/dremio/exec/store/StoragePluginResolver.java
sabot/kernel/src/main/java/com/dremio/sabot/exec/fragment/FragmentExecutionContext.java
sabot/kernel/src/main/java/com/dremio/exec/store/CatalogService.java
sabot/kernel/src/main/java/com/dremio/exec/planner/PhysicalPlanReader.java
sabot/kernel/src/main/java/com/dremio/exec/catalog/PluginsManager.java
sabot/kernel/src/main/java/com/dremio/exec/catalog/CatalogServiceImpl.java