最近在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