您的位置:首页 > 运维架构

hadoop 0.20.2 cdh3u6 运行单节点任务卡死,但不报错,问题分析。

2016-02-19 14:49 260 查看
背景:

单节点运行hadoop所有组件(namenode,datanode,jobtracker,tasktarcker等)运行任务后,所有任务卡死,无法继续运行。使用oozie管理job。

分析:

查看hadoop日志并没有发现错误,因此,怀疑配置文件出现问题。逐步检查配置文件出现问题的地方。首先,检查服务器负载境况,发现服务器cpu使用率低于20%,内存占用不足50%,硬盘io tps 小于3。机器负载不重。可以分析出,hadoop中的任务卡死,不是由于硬件资源不足导致的。换句话说,就是hadoop的其他设置导致的。从而检查hadoop的配置文件中配置是否合理。检查hadoop的conf/hadoop-env.sh。发现

HADOOP_HEAPSIZE的值为8192;

表明hadoop各个组件启动时,分配的内存足够大。不存在内存分配不足的问题。接着查看其他值发现没什么特殊的地方。使用jps查看chind数量,发现有4个,检查配置文件中的conf/mapred-site.xml,其中mapred.tasktracker.map.tasks.maximum的值恰好是4,表明tasktracker的chind中map的数量最多是4个,然后确认了下job开始的位置,发现就是在执行map的时候开始,说明同时执行4个map时,发生竞争,导致任务不能进行下去,修改其值为合适大小(网上说可以修改为任务数/cpu核心数=1~2之间),重新模拟,克服死锁,问题成功解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop 0.20