Hadoop的NN所使用的资源受所在服务的物理限制,不能满足实际生产需求。本文来谈谈大数据学习之Hadoop的联邦机制,主要内容包括:Hadoop的局限与不足、联邦的实现、主要优点、配置和操作。
一、Hadoop的局限与不足
Hadoop1.0的核心组件MR和HDFS主要有几个不足:
1、抽象层次低。对于简单的功能,编写大量的代码。
2、表达能力有限。MR把复杂分布式编程工作高度抽象到两个函数上,即Map和Reduce上,实际生产环境中有些不能只用简单的两个函数完成。
3、要管理作业间复杂的依赖关系。实际应用通常需要大量的job协作完成,job之间往往存在复杂的依赖关系。
4、迭代效率低。对于需要迭代的任务,需要反复读写HDFS文件中的数据,大大降低了迭代效率。
5、资源浪费。Reduce任务需要等待所有Map任务完成后才开始。
6、实时性差。适用于离线批处理。
二、联邦的实现
采用多台 NN 组成联邦。NN 是独立的,NN 之间不需要相互调用。NN 是联合的,同属于一个联邦,所管理的 DN 作为 block 的公共存储。block pool 的概念,每一个 namespace 都有一个 pool,datanodes 会存储集群中所有的 pool,block pool 之间的管理是独立的,一个 namespace 生成一个 blockid 时不需要跟其它 namespace 协调,一个 namenode 的失败也不会影响到 datanode对其它 namenodes 的服务。一个 namespace 和它的 block pool 作为一个管理单元,删除后,对应于datanodes 中的 pool 也会被删除。集群升级时,这个管理单元也独立升级。这里引入 clusterID 来标示集群所有节点。当一个 namenode format 之后,这个 id 生成,集群中其它 namenode 的 format 也用这个 id。
三、主要优点:
命名空间可伸缩性——联合添加命名空间水平扩展。DN 也随着 NN 的加入而得到拓展。
性能——文件系统吞吐量不是受单个Namenode 限制。添加更多的Namenode集群扩展文件系统读/写吞吐量。
隔离——隔离不同类型的程序,一定程度上控制资源的分配
四、配置:
联邦的配置是向后兼容的,允许在不改变任何配置的情况下让当前运行的单节点环境转换成联邦环境。新的配置方案确保了在集群环境中的所有节点的配置文件都是相同的。这里引入了 NameServiceID 概念,作为 namenodes 们的后缀。第一步:配置属性 dfs.nameservices,用于 datanodes 们识别 namenodes。第二步:为每个 namenode 加入这个后缀。
五、操作:
# 创建联邦,不指定 ID 会自动生成
$HADOOP_HOME/bin/hdfs namenode -format [-clusterId <cluster_id>]
# 升级 Hadoop 为集群
$HADOOP_HOME/bin/hdfs start namenode --config $HADOOP_CONF_DIR
-upgrade -clusterId <cluster_ID>
# 扩展已有联邦
$HADOOP_HOME/bin/hdfs dfsadmin -refreshNamenodes
<datanode_host_name>:<datanode_rpc_port>
# 退出联邦
$HADOOP_HOME/sbin/distribute-exclude.sh <exclude_file>
$HADOOP_HOME/sbin/refresh-namenodes.sh
什么是 CDH?
它是 Hadoop众多分支中的一种,由 Cloudera 维护,基于稳定版本的 Apache Hadoop 构建,并集成了很多补丁, 可直接用于生产环境。
CDH 的优点: 版本划分清晰
版本更新速度快
支持 Kerberos 安全认证文档清晰
支持多种安装方式(Cloudera Manager、YUM、RPM、Tarball) 什么是 CM Cloudera Manager? 是为了便于在集群中进行 Hadoop
等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。
Cloudera Manager 有四大功能:
(1)管理:对集群进行管理,如添加、删除节点等操作。
(2)监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。
(3)诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。
(4)集成:对 hadoop 的多组件进行整合。
以上就是Hadoop的联邦机制的全部知识点总结。大家对大数据学习如果还有更多的兴趣,可以报博学谷的在线大数据课程。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据是什么?有什么巨大价值?
随着市场经济的不断发展以及互联网科技的快速提升,信息流通的价值也越来越大,马云曾指出我们即将进入DT的时代。因此大数据成为炙手可热的关键因素。大数据更像是矿藏,不只是因为他的量大,而更在于这些数据背后所带来的的价值以及利益。那大数据到底是什么?他的背后隐含着什么样的巨大价值呢?
3324
2019-08-09 18:04:03
云计算和人工智能的两大误区是什么
云计算和人工智能的两大误区是什么?云计算和人工智能两大误区:云支出正在使数据中心支出大打折扣;人工智能过度炒作在很大程度上使企业购买者失败。过早采用人工智能可能会很有趣,但同时存在着诸多问题。
975
2020-02-12 18:17:43
常见的数据建模工具有哪些?
常见的数据建模工具有哪些?企业选择数据建模工具时,需要找到现在和将来最有可能使用的功能。企业并不需要拥有所有功能的工具,但可以尝试采用一些不同的平台找出可以满足其需求并提高生产率的工具。可以集成来自不同系统的数据,使用免费的数据建模工具来组织大数据,以便更轻松地访问信息。通过寻找复杂概念的图形表示来了解企业的业务。
2216
2020-03-23 17:05:45
大数据hadoop入门课程大纲
Hadoop简称HDFS,它具有高容错性的特点,并且适合那些有着超大数据集的应用程序。Hadoop中的分布式计算框架,使的分布式编程更简单,能够很好的处理存储在hdfs上的海量数据。因此如果大家要入门学习大数据,Hadoop是必须掌握的内容。下面我们一起来看看大数据hadoop入门课程大纲:
1194
2020-05-05 16:20:47
零基础学大数据难吗?
零基础学大数据难吗?通过各大招聘平台我们可以看到,同样都是互联网技术岗位,大数据技术岗位的薪资普遍较高,不仅仅是因为目前布局大数据技术是各个企业的战略目标,同时也因为大数据技术有一定的难度,那对于零基础的同学能学会大数据技术吗?
552
2020-08-24 14:31:50
零基础7天精通kettle8.2
¥49.9 基础 746
MySQL数据库基础
¥99 基础 211
Flink入门到实战
¥198 基础 439
Java进阶大数据开发公开课
免费 基础 973
Hive视频教程
免费 基础 1011
推荐课程
热门文章
- 5W2H数据分析方法及思维是什么?
- UI设计师要懂什么技术?掌握哪些知识?
- 哪里可以培训少儿编程老师?学什么?
- 软件测试方法和技术知识点有哪些?
- 2021年2月IT编程语言排行榜
- PHP从入门到精通需要多长时间?
- 产品经理需要的技能是什么?具备哪些能力?
- 新媒体运营是做什么的?工作内容有哪些?
- Java线上培训机构哪家好?靠不靠谱?
- 学Web技术前端培训机构哪家好? 查看更多
扫描二维码,了解更多信息
