新搭建的一个Hadoop环境,用Sqoop批量抽数的时候发现特别慢,我们正常情况下是一个表一分钟左右,批量抽十几个表,也就是10分钟的样子,结果发现用了2个小时:

查看yarn日志

发现有如下情况:

主要有两个情况:
1.有大量的等待日志:Waiting for AsyncDispatcher to drain.Thread state is :WAITING
2.异常中断:Interrupted while publishing entity
经网上查询得知,这个是因为ATSv2的嵌入式HBASE崩溃,需要重置HBASE数据库
步骤如下
1. 停止yarn
在ambari页面上停止yarn
2. 删除zk上的ATSv2 Znode
rmr /atsv2-hbase-unsecure或rmr /atsv2-hbase-secure
3. 删除HDFS上的Hbase嵌入式数据库
hdfs dfs -mv /atsv2/hbase/tmp/
4. 启动yarn
在ambari页面上重新启动yarn
再次重跑任务,时间已经明显的降低了。