druid遇坑记(1)

将我遇到的坑简单记录一下~~~~~~~~~~~~~~~~~
1、程序报 Empty List or intervals
报这个错肯定就是你的intervals设置的有问题,看一下你设置的intervals下面有没有这个文件,一般都是没有这个文件造成的
2、程序报io异常,segmentDescriptorInfo does not exist
在这里插入图片描述 一般遇到这种问题就是你的json文件中的intervals设置的范围是错误的,导致在查数据的数据并没有拿到数据,所以就会报segmentDescriptorInfo does not exist
解决办法:1、打印出intervals看具体设置的intervals范围为多少
2、如果是csv|tsv|json离线文件,打印出文件路径看一下有没有该文件
3、看一下timestampSpec设置的column是不是具体的时间字段,看看该时间字段下有没有intervals范围内的数据
3、mr程序执行成功了,但是去查druid发现并没有数据
一般这种情况下都是由于druid的内存不足导致,因为当mr程序执行成功以后,会生成多个segment,但是druid没有内存,导致segment无法生成,只能等到有数据删除以后,内存释放,或者增加内存以后写入进去,然后就能在druid中查询到数据
4、一般排查druid问题的流程
1、首先看task有没有提交成功
在这里插入图片描述看有没有task生成
2、去druid界面https://xxx:8888/console.html,这个界面一般代表mr是否执行成功了
在这里插入图片描述看一下状态是否成功,如果是失败的话点击log(all)看一下有没有日志,如果有,看日志找问题即可,如果没有,则需要去查看druid所在服务器的current文件通过关键字过滤出错误日志去查看问题
3、如果是成功状态,去https://xxx:8888/unified-console.html#datasources查看segment是否成功了
在这里插入图片描述 如果segment是成功的,那直接去druid界面查就是有数据,如果segment没有成功,大概率就是内存问题了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章