为什么Druid可查询数据源列表但调用API报unknown dataSource错误
错误原因与解决方案
操作错误点
你在传递dataSource查询参数时,额外给数据源名称包裹了双引号,这是引发报错的直接原因。
具体逻辑说明
- 你调用数据源列表接口返回结果里的双引号是JSON格式的字符串边界标记,不属于数据源名称本身的内容,实际集群中存在的数据源名称是
MarketWatch-BookOrders,没有前后的双引号。 - Druid Coordinator的API会直接读取查询参数的原始值做匹配,你请求中传递的参数值是带双引号的
"MarketWatch-BookOrders",和实际的数据源名称字符串不一致,因此判定为未知数据源。
正确请求示例
直接去掉参数值的双引号即可:http://druid_ip:port/druid/coordinator/v1/compaction/status?dataSource=MarketWatch-BookOrders
极端情况排查
如果修改后还是报错,可以调用Coordinator的元数据查询接口http://druid_ip:port/druid/coordinator/v1/metadata/datasources,确认对应数据源已经被Coordinator同步加载,排除集群元数据不同步的问题。
内容的提问来源于stack exchange,提问作者smbanaei
相关产品推荐
相关产品推荐

