hadoop Map-Reduce体系架构node
1. map-reduce的编程模型apache
2. 没有reduce的编程模型编程
3. 复杂的编程模型性能优化
4.mapper网络
Map-Reduce的思想就是“分而治之”架构
mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”执行app
“简单的任务”有几个含义: 1)数据或计算规模至关于缘任务要大大缩小;2)就近计算,即会被分配到存放了所需数据的节点进行计算;3)这些小任务能够并行计算,彼此间几乎没有依赖关系工具
5.Reduceroop
对map阶段的结果进行汇总性能
Reducer的数目由mapred-site.xml配置文件里的项目mapred.reduce.tasks决定。缺省值为1,用户能够覆盖之
6.Shuttler
在mapper和reducer中间的一个步骤(能够没有)
能够把mapper的输出结果按照某种key值从新切分和组合n份
把key值符合某种范围的输出送到特定的reducer那里去处理
能够简化reducer过程
7.M-R的现实例子
流程原理图
Mapper
8. 性能优化
究竟须要多少个reducer
输入:大文件优于小文件
减小网络传输:压缩map的输出
优化每一个节点能运行的任务数:mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.reduce.tasks.maximum(缺省值均为2)
9.map-reduce工做机制剖析图
10.调度机制
缺省为先入先出做业队列调度
支持公平调度器
支持容量调度器
11.任务执行优化
12.错误处理机制:硬件故障
13.错误处理机制:任务失败
14.hadoop命令大全和hadoop API大全
15.审计日志
把log4j.properties配置文件中的log4j.logger.org.apache.hadoop.fs.FSNamesytem.audit=WARN改成“INFO”能够打开审计日志。每一个HDFS事件都会在namenode的log中写入一行记录
16.监控日志
17.第三方工具
Ganglia
Chukwa
Openstack