背景:
一个MR任务scan hbase 导出hive 文件,但是发现某些天数据突然变小,而且里面数据行数也变小(hbase里面的数据只增不减)
原因定位:
日志非常隐蔽,需要去MR 任务里面看 mapper 里面的log 日志,发现有error 日志,进一步定位
发现有mysql 连接数过多,可以看到如下代码非常关键(这个是每次都需要去读取mysql 的配置信息)
如果mapper 数比较多,就需要多次连接mysql,导致连接数过多
修复方案:
在main 函数里面读取mysql配置信息,然后通过参数的方式传递给mapper,避免每次mapper 都进行读mysql 取配置 信息。