在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
大数据学习需要掌握很多技术知识点,包括Linux、Zookeeper、Hadoop、Redis、HDFS、MapReduce、Hive、lmpala、Hue、Oozie、Storm、Kafka、Spark、Scala、SparkSQL、Hbase、Flink、机器学习等。今天主要和大家分享一下Hadoop的联邦机制。

一、为什么会出现联邦?
Hadoop 的 NN 所使用的资源受所在服务的物理限制,不能满足实际生产需求。
二、联邦的实现
采用多台 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 下载地址 : http://archive.cloudera.com/cdh5/cdh/5/ CDH (Cloudera's Distribution, including Apache Hadoop),是 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的联邦机制。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据面试:数据仓库工具hive面试题集锦
进入DATE时代,大数据技术成为互联网发展的核心要素之一。与此同时大数据开发工程师的薪资也成为行业内高薪的代表。想从事大数据开发需要掌握多种核心技术:Hadoop、Hive、Storm、Spark、Scala等等。而且这些技术知识点已经成为大数据工程师进入职场时面试中必备的考点。这里主要和大家分享一下数据仓库工具hive相关的面试题!
22076
2019-07-05 17:30:53
数据分析应用在哪些领域?都起到了什么作用?
随着大数据的发展,数据分析早已渗透各行业各业,尤其是互联网、电商和金融三大行业。同时数据分析在电信、旅游、医疗健康等等领域,也有比较多的应用。下面我们来看看在这些领域数据分析究竟起了什么作用。
15795
2019-09-28 09:54:27
程序员常用数据库有哪些?
数据库就是数据存储的仓库,任何互联网产品都需要使用数据库保存运营过程中所产生的各种数据。SQL是一种数据库查询语言和程序设计语言,主要就是用于管理数据库中的数据,如存取数据、查询数据、更新数据等。在大数据技术不断提升与应用的市场背景下,数据库技术也得到很大的发展,目前数据库产品非常多,最常用的数据库有:Oracle、DB2、MongoDB、SQLServer、MySQL等。
12383
2019-12-05 18:48:08
Hadoop集群搭建过程总结
本文主要总结了Hadoop集群搭建的过程,内容包括发行版本说明、Hadoop集群简介、服务器准备、网络环境准备、服务器系统设置以及JDK 环境安装。有学习需要的小伙伴一起来看看吧~
8744
2020-06-18 15:32:40
入行大数据学习路线分享 学习不迷路
入行大数据学习路线分享 学习不迷路,想要从事大数据技术开发工作请问要怎么做,学习路线是什么?从哪里开始学?学哪些?对于想学大数据的人群有诸多的疑问,大数据本质上是海量数据。以往的数据开发,需要一定的Java基础和工作经验,门槛高入门难。如果零基础入门数据开发行业的小伙伴可以从Python语言入手。
4754
2022-02-18 11:06:17
