请问以下情况下,集群如何优化?

1、当前集群的规模   目前集群有5台集群,分别装是hadoop master(1台),hadoop slave(4台)、hbase(装在3台)、zookeeper(装在3台机器上)2、机器的配置   内存8G,4核2CPU3、机器部署情况   分别装有hadoop、hbase、zookeeper(装在3台机器上)4、用集群来处...显示全部
1、当前集群的规模   目前集群有5台集群,分别装是hadoop master(1台),hadoop slave(4台)、hbase(装在3台)、zookeeper(装在3台机器上)
2、机器的配置   内存8G,4核2CPU

3、机器部署情况   分别装有hadoop、hbase、zookeeper(装在3台机器上)

4、用集群来处理什么问题,处理结果输出到什么地方  通过MR来统计HBase表中相关数据

5、存在问题(描述集群在处理任务的情况)   每天的数据量大概有10G左右,刚开始阶段每天晚上统计的时候速度非常快,运行一段时间后,有大量的Task处于等待状态,如果提交了新的Job的时候Job也处于等待状态,任务并不执行。查看目前大概有800个region。请问如何优化?
收起
参与6

查看其它 1 个回答尘世随缘的回答

尘世随缘尘世随缘技术总监上海某互联网金融公司
根据目前的配置来看,假如每台机器最多同时运行8个Task,并行的话最多同时32个Task(4*8=32)。MR去读HBase的Region来统计数据的时候,默认每个region会产生一个Map。累计产生的Task数量为:800个Map+指定数量的Reduce个,但是只能并行32个,所以再有新任务提交的时候,新的任务会一直处于等待状态(等待分配资源)。
优化思路:在Hadoop中配置调度器,比如配置A调度器(A最多运行20个Task)和B调度器(最多运行10个Task),A调度器负责处理MR统计HBase的任务,每个Job运行的时候指定调度器名称,这样不会因为一个Job的Task太多而占满了资源。
互联网服务 · 2015-08-21
浏览1314

回答者

尘世随缘
技术总监上海某互联网金融公司
擅长领域: 云计算云原生微服务

尘世随缘 最近回答过的问题

回答状态

  • 发布时间:2015-08-21
  • 关注会员:3 人
  • 回答浏览:1314
  • X社区推广