搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
技术学习(版主发帖区)
›
大数据学习
›
Hadoop大数据架构
›
Hadoop YARN 大数据解决方案进段应用
0
2
1
分享
Hadoop YARN 大数据解决方案进段应用
韩克拉玛寒
发表于 2015-4-3 23:00:43
[显示全部楼层]
只看大图
阅读模式
关闭右栏
2
25797
本帖最后由 韩克拉玛寒 于 2015-4-3 23:00 编辑
问题导读:
1、了解Hadoop版本衍化都有那些?
2、了解Hadoop版本号、以及Hadoop2.0版本产生的背景?
3、如何理解Hadoop2.X的基本构成?
Hadoop 版本衍化
1、第一代Hadoop:Hadoop1.0
a、包含三个大版本,分别是0.20.x,0.21.x和0.22.x和CDH3
b、0.20.x最后演化成1.0.x,变成了稳定版
c、0.21.x和0.22.x,则增加NameNode HA等新的特性。
2、第二代Hadoop:Hadoop2.0
a、包含Apache Hadoop 0.23.x、2.x和CDH4,均包含HDFS Federation和YARN两个系统。
b、2.x增加了NameNode HA和Wire-compatibity两个重大特性。
3、Apache软件发布方式:
根据新增特性延伸新版本
4、独立产生Hadoop版本的重大特性
a、Append 支持文件追加功能
b、RAID 构建DRFS,在保证数据可靠的前提下,通过引入校验码减少数据块数目。
c、Symlink 支持HDFS文件链接
d、Security 安全认证和授权机制
e、MRv1 (MapReduce)
f、MRv2/YARN
g、NameNode HA
h、HDFS Federation
5、Apache Hadoop的四大分支构成了三个系列的Hadoop版本
a、0.20.x系列,主要有两个特性:Append 与Security
b、0.21.0 / 0.22.x 系列:
整个Hadoop项目被分割成三个独立的模块
1、Common模块
2、HDFS模块
3、MapReduce模块
c、0.23.X系列, 包括基础库Common、分布是文件系统HDFS、资源管理框架YARN和运行在YARN上的MapReduce四部分。
d、2.X系列 与0.23.X相比,2.X增加了NameNode HA和Wire-compatibility等新特性。
Hadoop 2.0版本号
1、Apache Hadoop
a、0.23.x,比如0.23.9
b、2.x.x,比如2.2.0
c、下载地址:
http://hadoop.apache.org/releases.html
d、SVN:
http://svn.apache.org/repos/asf/hadoop/common/branches/
2、CDH(Cloudera Distributed Hadoop)
a、CDH4,比如CDH4.5
b、下载地址:
http://archive.cloudera.com/cdh4/cdh4/4/
(是tar.gz文件!)
c、CDH5,比如CDH5-beta1
d、下载地址:
http://archive.cloudera.com/cdh5/cdh/
(是tar.gz文件!)
Hadoop 2.0产生背景
1、Hadoop生态系统由Hadoop、HBase、Hive、Pig、Sqoop、Flume、Mahout(数据挖掘)、ZooKeeper等构成。
2、Hadoop 1.0由HDFS和MapReduce两个系统构成。
3、Hadoop1.0中HDFS和MapReduce在高可用、扩展性等方面存在问题。
4、HDFSS存在的问题
a、NameNode单点故障,难以应用于在线场景。
b、NameNode压力过大,且内存受限,影响系统扩展性。
5、MapReduce存在的问题
a、JobTracker单点故障。
b、JobTracker访问压力大,影响系统扩展性。
c、难以支持除MapReduce之外的计算框架,比如Spark、Storm、Tez等。
Hadoop 2.0基本构成
1、Hadoop 2.0 由HDFS。MapReduce和YARN三个分支构成。
2、HDFS:NN Federation(冗余机制)、HA;
3、MapReduce:运行在YARN上的MR;
4、YARN:资源管理系统
HDFS 2.0
1、解决HDFS 1.0中单点故障和内存受限问题。
2、解决单点故障
a、HDFS HA:通过贮备NameNode解决。
b、如果NameNode发生故障,则切换到备用NameNode上。
3、解决内存受限问题
a、HDFS Federation(联邦);
b、水平扩展,支持多个NameNode;
c、每个NameNode分管一部分目录;
的、每个NameNode共享所有DataNode存储资源;
4、仅是架构上发生了变化,使用方式不变
a、对HDFS使用者透明。
b、HDFS 1.0中的命令和API 可有继续使用。
$hadoop fs -ls /user/hadoop/
$hadoop fs -mkdir /user/hadoop//data
HDFS 2.0 HA
1、主备NameNode
2、解决点点故障。
a、主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换。
b、所有DataNode同时向两个NameNode汇报数据块信息。
3、两种切换选择
a、手动切换:通过命令实现主备之间的切换,可以用HDFS升级等场合。
b、自动切换:基于Zookeep而实现。
4、基于Zookeep而自动切换方案
a、Zookeeper Failover Controller:监控NameNode健康状态,并向Zookeep而注册NameNode。
b、NameNode挂掉后,ZKFC为NameNode竞争锁,获得ZKFC锁的NameNode变为active。
5、多种共享存储系统可供选择。
a、NFS:采用Linux文件共享系统;
b、Qurom Journal Manager(QJM):多个Journal Node构成集群;
c、Bookeeper:Bookeeper服务,对应一个netural,每个对应一个日志段,管理维护上很复杂,得通过ZK进入管理元数据,大型集群采用;
6、推荐QJM方案:
a、基本原理:数据同时写入所有Journal Node,多数写入成功,则认为写成功。
b、一般配置奇数个Journal Node,越多,容错性越好。
c、比如3个Journal Node,只要两个写成功,则数据写成功,最多允许一个Journal Node挂掉。
HDFS 1.0
1、当前HDFS两层结构
a、Namespace;
b、Block Storage:包括Block Management和Physical Storage
2、当前HDFS的局限性
a、Block Storage和NameSpace高耦合。
b、NameNode扩展性。
c、性能:单个NameNode当前仅支持约60K的task。
d、隔离性。
Federation架构实现:
NameSpace:由多个NameNode组成的。已经把之前的Block Storage进行了变更,Federation改变了NameNode,config。改变了一些配置。并没有改变NameNode的本身内部的代码。所以我们在操作HDFS系统时,没有感觉到什么不同。依然可以使用它的API和命令来进行各种操作,对我们是透明的。它对Config,DataNode,整个架构的改变,从一个变成多个,每个NameNode独立负责自己部分的管理工作,对应的一个Pool,去缓存NameNode元数据信息。也叫做Block Pools。各自分工,相互之间也不进行协调工作。另外每个DataNode会记录每个NameNode的Pool的内容,它的改变是基于DataNode,Config,以及Pools中来做出相应的改变,并没有改变NameNode的本身,这种架构是可以保证NameNode的扩展性。也存在局限性,即本质上每个NameNode也是一个单点(NameNode Pool value),升级时是以NameNode和Pool来升级的。
YARN:
1、YARN: Yet Another Resource Negotiator;
2、Hadoop 2.0 新引入的资源管理系统,直接从MRv1演化而来的。
3、核心思想:讲MRv1中JobTracker的资源管理和任务调度两个功能分开,分别由ResourceManager和ApplicationMaster进程实现;
a、ResourceManager:负责整个集群的资源管理和调度;
b、ApplicationMaster:负责应用程序相关的事务,比如任务调度、任务监控和容错等。
4、YARN的引入,使得多个计算框架可以运行在一个集群中
a、每个应用程序对应一个ApplicationMaster;
b、目前多个计算框架可以运行在Yarn上,比如MapReduce、Spark、Storm等。
MapReduce 计算框架
1、将计算过程分为两个阶段:Map和Reduce;
a、Map阶段并行处理输入数据。
b、Reduce阶段对Map结果进行汇总。
2、Shuffle链接Map和Reduce两个阶段。
a、Map Task将数据写到本地磁盘。
b、Reduce Task从每个Map Task上读取一份数据。
3、仅适合离线批处理;
a、具有很好的容错性和扩展性。
b、适合简单的批处理任务。
4、缺点明显;
a、启动开销大、过多使用磁盘导致效率地下等。
MapReduce On YARN
1、MapReduce On YARN:MRv2;
2、将MapReduce作业直接运行在YARN上,而不是JobTracker和TaskTracker构建的MRv1系统中。
3、基本功能模块:
a、YARN:负责资源管理和调度。
b、MRAPPMaster:负责任务切分、任务调度、任务监控和容错等。
c、MapTask/ReduceTask:任务驱动引擎,与MRv1一致。
4、每个MapReduce作业对应一个MRAppMaster。
5、MRAppMaster任务调度;
a、YARN将资源分配给MRAppMaster。
b、MRAppMaster进一步将资源分配给内部的任务。
6、MRAppMaster容错;
a、失败后,由YARN重新启动。
b、任务失败后,MRAppMaster重新申请资源。
MRv1与MRv2兼容性
1、MapReduce API
a、分为新API(org.apache.hadoop.mapreduce)和旧 API(org.apache.hadoop.mapred)。
b、新旧API性能没有差异(因此内核实现相同),不同之处仅在于编程接口的定义。
c、新API自身拥有更好的封装,在兼容性和扩展性方面更优。
2、MRv1与MRv2应用程序兼容性;
a、采用MRv1旧API编写的应用程序,可直接使用之前的jar包将程序运行在MRv2上。
b、采用MRv1新API编写的应用程序则不可以,需要使用MRv2编程库重新编译并根据编译错误提示修改不兼容的参数和返回值。
MRv1与MRv2不兼容API
来自群组:
about云小组群
欢迎加入about云群
425860289
、
432264021
,云计算爱好者群,亦可关注
about云腾讯认证空间
||
关注本站微信
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
已有(2)人评论
电梯直达
正序浏览
feng01301218
发表于 2015-4-4 20:44:22
问题导读:
1、了解Hadoop版本衍化都有那些?
2、了解Hadoop版本号、以及Hadoop2.0版本产生的背景?
3、如何理解Hadoop2.X的基本构成?
回复
使用道具
举报
显身卡
Redgo
发表于 2015-4-4 21:50:05
回复
使用道具
举报
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
最佳新人
积极上进,爱好学习
活跃会员
经常参与各类话题的讨论,发帖内容较有主见
发表新帖
韩克拉玛寒
高级会员
关注
40
主题
389
帖子
46
粉丝
TA的主题
HBase集群启动报错,请各位大神帮忙看看
2015-5-20
ZooKeeper 常用操作API详解
2015-4-28
说说Zookeeper中的ACL
2015-4-28
ubuntu linux命令行简明教程和中文教程
2015-4-24
Hadoop权威指南学习笔记
2015-4-24
24小时热文
矩阵分析引论罗家洪(第四版)
互联网大厂年终福利曝光:看看别人家老板怎
像高手一样发言:七种常见工作场景的说话之
携程允许员工春节回乡办公2个月
数据治理实施方案
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈