通过MR查询HBase时,使用官网提供的查询模板,提交任务时存在问题,提交任务之前等待时间过长,通过DEBUG日志分析(export HADOOP_ROOT_LOGGER=DEBUG,console
)后得出,在提交任务之前获取HBase分区时,耗时过长
由于查看日志,每次获取分区信息时耗时均为30s,现象比较诡异;
之后定位到主要原因是这个getSplits
方法,通过跟踪其源码,以及stackoverflow的相同问题,初步定位为其内部反转DNS导致的耗时,但其回答中的解决办法并没太懂:
sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o em4 -j MASQUERADE
sudo sysctl -w net.ipv4.ip_forward=1
sudo route add default gw 'mygatway' em4
最后通过注释掉 /etc/resolv.conf
文件中的两行配置问题得以解决。
网友评论