半夜ATM机前看书的那位

导航

Hadoop性能调优-配置文件和作业调度算法

 

reduce数量究竟多少是适合的。目前测试认为reduce数量约等于cluster中datanode的总cores的一半比较合适,比如cluster中有32台datanode,每台8 core,那么reduce设置为128速度最快。因为每台机器8 core,4个作map,4个作reduce计算,正好合适。
    附小测试:对同一个程序
            reduce num=32,reduce time = 6 min
            reduce num=128, reduce time = 2 min

            reduce num=320, reduce time = 5min 

 

1. 通常每个服务器的Map + Reduce总数跟cpu核数大致一致,经验表现为略大于 cpu核数的设置可以发挥最大性能,比如8核配5个map, 5个reduce

2. Map数跟Reduce配置个数通常配置相同

3. Hadoop允许集群里的不同节点配置Map跟Reduce数不同,避免服务器开销不均 匀

4. HDFS block大小默认64M推荐128M

5. HDFS在并发写同一文件情况执行状况未知,可能存在写冲突问题

6. HDFS文件不允许修改,文件一旦建立(写入流关闭)后不能修改

7. 移动计算的代价比移动数据的代价低,通常Map在数据存放的节点服务器上运 行,当在其他服务器上运行是上运行时,该节点数据会拷贝到执行服务器上再进行运算

8. 在job的运行时,每个参与任务的Map处理的datanode节点对象是固定不变 的,Map处理dataNode的粒度可以到文件的行级,比如一个Map可以处理某个dataNode的 前10000行

9. 每个Reduce接受所有Map的结果并且只执行跟自己相关的key的Reduce

10. HDFS上跑的应用,主要是以流式读为主的应用,进行批量处理,比如log分析、 索引构建、数据关联等

11. Hadoop支持根据应用分配额定最大map及reduce个数功能

12. HDFS采用master/slave架构(nameNode,dateNode), NameNode是个单点中心服务 器, 管理文件系统及客户端的访问

13. HDFS默认文件副本3个,不同应用可以通过客户端API决定每个文件的副本数为任 意值

 

 

posted on 2011-08-18 13:07  zhizhesky  阅读(456)  评论(0编辑  收藏  举报