hadoop streaming MR程序集群下比单机慢很多

用c++开发的streaming mapper 和reducer,用于提取二进制日志文件中一些请求(用户)特征值,所以事先有实现解析二进制文件的自定义inputformat。处理结果输出到hdfs。单机状态下处理相同数量的文件耗时5,6s, 但是在集群模式下,耗时长达10分钟左右。其中一个节点cpu占用搭100多,且将mapper和reducer均屏蔽功能逻辑代码或者启用默认TextInputFormat选项情况下,也没有多少改善。hadoop版本为2.7.1。

run脚本:export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$HADOOP_INSTALL/bin:$PATH
source /etc/profile
hadoop jar $HADOOP_INSTALL/share/hadoop/tools/lib/hadoop-streaming-2.7.1.jar
                   -input /hadoop/input2
                   -output /hadoop/output/out
                   -inputformat BinaryFileInputFormat
                   -mapper mapper
                   -reducer reducer
                   -file mapper
                   -file reducer



hadoop集群硬件配置:一共三个节点,其中两个单核1G内存processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 62
model name: Intel(R) Xeon(R) CPU E5-2430 v2 @ 2.50GHz
stepping: 4
microcode: 1063
cpu MHz: 2500.000
cache size: 15360 KB


另一个4核4G内存
model name: Intel(R) Xeon(R) CPU E5-2430 v2 @ 2.50GHz
stepping: 4
microcode: 1063
cpu MHz: 2500.000
cache size: 15360 KB



配置文件信息: yarn-site.xml

  
    yarn.nodemanager.aux-services
    mapreduce_shuffle



    yarn.resourcemanager.hostname
    srv-nm-test20




    yarn.nodemanager.resource.memory-mb
    2000







mapred-site.xml


        
                mapred.job.tracker
                192.168.8.180:9001
        

        
                mapred.tasktracker.reduce.tasks.maximum
                3
        

        
                mapred.tasktracker.map.tasks.maximum
                3
        

         
                 mapreduce.framework.name
                 yarn
         




请大家帮忙看看,先谢谢了
参与7

3同行回答

美国队长美国队长研发工程师Alibaba
数据量如果少就直接改调本地模式,因为hadoop启动还是要花点时间滴,这里包括资源轮询,任务分配等等显示全部
数据量如果少就直接改调本地模式,因为hadoop启动还是要花点时间滴,这里包括资源轮询,任务分配等等收起
互联网服务 · 2015-08-24
浏览1129
wookongwookong软件开发工程师上海某互联网服务公司
回复 2# 尘世随缘    两个配置差的节点配置是一样的,移完之后就只剩一个namenode了。。。不过可以尝试下显示全部
回复 2# 尘世随缘


   两个配置差的节点配置是一样的,移完之后就只剩一个namenode了。。。不过可以尝试下收起
互联网服务 · 2015-08-21
浏览1073
尘世随缘尘世随缘技术总监上海某互联网金融公司
我建议你把配置差的那个节点先移出集群在做测试。显示全部
我建议你把配置差的那个节点先移出集群在做测试。收起
互联网服务 · 2015-08-21
浏览1152

提问者

wookong
软件开发工程师上海某互联网服务公司

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-08-21
  • 关注会员:3 人
  • 问题浏览:5213
  • 最近回答:2015-08-24
  • X社区推广