主要记录了Hadoop各个组件的基本原理,处理过程和关键的知识点等,包括HDFS、YARN、MapReduce等。本教程内容来源于 PennyWong更新日期更新内容2015-5-7Hadoop文档铺垫人产生数据的速度越来越快,机器则更加快,more data usually beats better algorithms,所以需要另外的一种处理数据的方法。
Yahoo教程细细品味HadoopHDFS 原理、架构与特性介绍Hadoop MapReduce开发最佳实践MapReduce的Shuffle阶段Hadoop的最佳实践和反模式Hadoop读split
Log yarn.log-aggregation-enable=true如果显示错误,则日志存储在节点管理器运行节点上。当聚集启用时所有日志进行汇总,任务完成后转移到HDFS。 Hadoop集群性能监控Ganglia, Nagios使用Hadoop工具 Ambari管理集群
有两种配置文件:一种是__-default.xml(只读,默认的配置)一种是#x662F;__-site.xml(替换default中的配置)core-site.xml 配置公共属性hdfs-site.xml 配置HDFSyarn-site.xml 配置YARNmapred-site.xml 配置MapReduce配置文件应用的顺序:在JobConf中指定的客户端机器上的__-site.xml配置slave节点上的__-site.xml配置__-default.
单节点安装所有服务运行在一个JVM中,适合调试、单元测试伪集群所有服务运行在一台机器中,每个服务都在独立的JVM中,适合做简单、抽样测试多节点集群服务运行在不同的机器中,适合生产环境配置公共帐号方便主与从进行无密钥通信,主要是使用公钥/私钥机制所有节点的帐号都一样在主节点上执行 ssh-keygen -t rsa生成密钥对复制公钥到每台目标节点中
MRUnit单元测试Mapper和Reducer类在内存上独立运行, PipelineMapReduceDriver单线程运行.LocalJobRunner单线程运行, 且仅有一个 Reducer能够启动conf.set("mapred.job.tracker", "local"); conf.set("fs.default.name", "file:////&ququot;); FileSystem fs = FileSystem.getLocal(conf);
输入文件从HDFS进行读取.输出文件会存入本地磁盘.Reducer和Mapper间的网络I/O,从Mapper节点得到Reducer的检索文件.使用Reducer实例从本地磁盘回读数据.Reducer输出- 回传到HDFS.
简介一种分布式的计算方式指定一个Map(映#x5C04;
旧的MapReduce架构JobTracker: 负责资源管理,跟踪资源消耗和可用性,作业生命周期管理(调度作业任务,跟踪进度,为任务提供容错)TaskTracker: 加载或关闭任务,定时报告认为状态此架构会有以下问题:JobTracker是MapReduce的集中处理点,存在单点故障JobTracker完成了太多的任务,造成了过多的资源消耗,当MapReduce job 非常多的时候,会造成很大的内存开销。
简介Hadoop Distributed File System,分布式文件系统架构Block数据&##x5757;基本存储单位,一般大小为64M(配置大的块主要是因为:1)减少搜寻时间,一般硬盘传输速率比寻道时间要快,大的块可以减少寻道时间;2)减少管理块的数据开销,每个块都需要在NameNode上有对应的记录;
Hadoop可运行于一般的商用服务器上,具有高容错、高可靠性、高扩展性等特点特别适合写一次,读多次的场景适合大规模数据流式数据(写一次,读多次)商用硬件(一般硬件)不适合低延时的数据访问大量的小文件频繁修改文件(基本就是写1次)Hadoop架构HDFS: 分布式文件存储YARN: 分布式资源管理MapReduce: 分布式计算Others: 利用YARN的资源管理功能实现其他…
压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在 Hadoop下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要。在这种情况下,IO操作和网络数据传输要花大量的时间。还有, Shuffle与 Merge过程同样也面临着巨大的IO压力鳘于磁盘IO和网络带宽是 Hadoop的宝贵资源,数据压缩对于节省资源、最小化磁盘IO和网络传输非常有帮助。
在线练习http://cloudcomputing.ruc.edu.cn处理select:直接分析输入数据,取出需要的字段数据即可where: 也是对输入数据处理的过程中进行处理,判断是否需要该数据aggregation:min, max, sumgroup by: 通过Reducer实现sortjoin: map join, reduce joinThird-Party Librariesexport LIBJARS=$MYLIB/commons-lang-2.3.jar, hadoop jar prohadoop-0.0.1-SNAPSHOT.
对Map的结果进行排序并传输到Reduce进行处理 Map的结果并不#x662F;
主要是读取InputSplit的每一个Key,Value对并进行处理public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT> { /** * 预处理,仅在map task启动时运行一次 */ protected void setup(Context context) throws IOException, InterruptedException { } /** * 对于InputSplit中的每一对<key, value>
失败类型程序问题进程崩溃硬&#x#x4EF6;
基本的资源单位(CPU、内存等)Container可以加载任意程序,而且不限于Java一#x4E2A;Node可以包含多个Container,也可以是一个大的ContainerApplicationMaster可以根据需要,动态申请和释放Container
单个作业的资源管理和任务监控具体功能描述#x8FF0;
Node节点下的Container管理启动时向ResourceManager注册并定时发&##x9001;
负责全局的资源管理和任务调度,把整个集群当&##x6210;
关注时代Java