Hadoop_简介
⼀.什么是Hadoop
Hadoop 是⼀个适合⼤数据的分布式存储和计算平台。
Hadoop的⼴义和狭义区分:
狭义的Hadoop:指的是⼀个框架,Hadoop是由三部分组成:HDFS:分布式⽂件系统--》存储;MapReduce:分布式离线计算框架--》计算;Yarn:资源调度框架。
⼴义的Hadoop:⼴义Hadoop是不仅仅包含Hadoop框架,除了Hadoop框架之外还有⼀些辅助框架。Flume:⽇志数据采集,Sqoop:关系型数据库数据的采集;
Hive:深度依赖Hadoop框架完成计算(sql),Hbase:⼤数据领域的数据库(mysql)Sqoop:数据的导出⼴义Hadoop指的是⼀个⽣态圈。Hadoop⽣态圈技术栈
Hadoop(HDFS + MapReduce + Yarn)Hive 数据仓库⼯具
HBase 海量列式⾮关系型数据库Flume 数据采集⼯具Sqoop ETL⼯具Sqoop ETL⼯具......
⼆.Hadoop的特点
1).Hadoop优缺点: Hadoop的优点:
1.Hadoop具有存储和处理数据能⼒的⾼可靠性。
2.Hadoop通过可⽤的计算机集群分配数据,完成存储和计算任务,这些集群可以⽅便地扩展到数以千计的节点中,具有⾼扩展性。 3.Hadoop能够在节点之间进⾏动态地移动数据,并保证各个节点的动态平衡,处理速度⾮常快,具有⾼效性。 4.Hadoop能够⾃动保存数据的多个副本,并且能够⾃动将失败的任务重新分配,具有⾼容错性。2).Hadoop的缺点::
1.Hadoop不适⽤于低延迟数据访问。 2.Hadoop不能⾼效存储⼤量⼩⽂件。 3.Hadoop不⽀持多⽤户写⼊并任意修改⽂件。三.Apache Hadoop的重要组成
1.Hadoop=HDFS(分布式⽂件系统)+MapReduce(分布式计算框架)+Yarn(资源协调框架)+Common模块。
Hadoop HDFS:(Hadoop Distribute File System )⼀个⾼可靠、⾼吞吐量的分布式⽂件系统 --核⼼思想,分⽽治之,数据切割、制作副本、分散储存。
图中涉及到⼏个⾓⾊:
NameNode(nn):存储⽂件的元数据,⽐如⽂件名、⽂件⽬录结构、⽂件属性(⽣成时间、副本数、⽂件权限),以及每个⽂件的块列表和块所在的DataNode等
SecondaryNameNode(2nn):辅助NameNode更好的⼯作,⽤来监控HDFS状态的辅助后台程序,每隔⼀段时间获取HDFS元数据快照。
DataNode(dn):在本地⽂件系统存储⽂件块数据,以及块数据的校验。 注意:NN,2NN,DN这些既是⾓⾊名称,进程名称,代指电脑节点名称!! 2.Hadoop MapReduce:⼀个分布式的离线并⾏计算框架 拆解任务、分散处理、汇整结果
MapReduce计算 = Map阶段 + Reduce阶段 Map阶段就是“分”的阶段,并⾏处理输⼊数据;
Reduce阶段就是“合”的阶段,对Map阶段结果进⾏汇总;
3. Hadoop YARN:作业调度与集群资源管理的框架 计算资源协调
Yarn中有如下⼏个主要⾓⾊,同样,既是⾓⾊名、也是进程名,也指代所在计算机节点名称。
ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度; NodeManager(nm):单个节点上的资源管理、处理来⾃ResourceManager的命令、处理来⾃ApplicationMaster的命令; ApplicationMaster(am):数据切分、为应⽤程序申请资源,并分配给内部任务、任务监控与容错
Container:对任务运⾏环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运⾏相关的信息。 ResourceManager是⽼⼤,NodeManager是⼩弟,ApplicationMaster是计算任务专员。
4. Hadoop Common:⽀持其他模块的⼯具模块(Configuration、RPC、序列化机制、⽇志操作)。
因篇幅问题不能全部显示,请点此查看更多更全内容