《Hadoop技术详解》一2.7 NameNode联盟

简介:

本节书摘来异步社区《Hadoop技术详解》一书中的第2章,第2.7节,作者: 【美】Eric Sammer 译者: 刘敏 , 麦耀锋 , 李冀蕾 , 等,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 NameNode联盟

很多Hadoop用户心里一直不爽:对存储在NameNode内存中的元数据大小有限制。为了冲破单个NameNode服务器中物理内存的限制,需要一种大规模系统来取代之前的按比例增长模式。正如HDFS的块存储一样,可以将文件系统元数据分布存储在多台主机上,这一技术被称之为命名空间联盟(Namespace Federation),即通过一组自治系统来组织一个逻辑名字空间。Linux文件系统是一个例子:多个设备被动态地配置在一个名字空间下,客户端可以方便地通过寻址访问就该名字空间而无需关注数据到底存储在哪个底层设备上。

NameNode联盟(如图2-6所示)将文件系统名字空间分片并分散存储到多台NameNode上,这样就绕开了单个NameNode内存限制的问题。顾名思义,NameNode联盟由一组各自独立的NameNode组成,每一个NameNode负责管理目录结构的不同部分。与相互隔离集群的最主要区别在于,由NameNode联盟管理的集群中每个DataNode可以给多个NameNode存储数据块。更确切地说,每个DataNode为每个名字空间维护一个数据块池(Block Pool)。尽管来自不同数据块池的数据块可以存储在同一个物理磁盘中,但在逻辑上它们是独立的。每个DataNode同时发送心跳报文和块报告给每一个NameNode。

客户端通常不关心存在多少个NameNode,因此引入ViewFS API来映射文件系统片与NameNode的关系。理论上,与Linux的/etc/fstab文件的功能是一样的,ViewFS除了映射路径和物理设备的关系,还映射路径和HDFS NameNode的关系。例如,ViewFS将NameNode1映射到路径/logs,NameNode2映射到路径/hbase。NameNode联盟还允许基于名字空间分区来控制系统可用性和文件系统片的容错性。如前所述,/hbase可能需要非常高的可靠性,而/logs仅仅需要支持MapReduce的批处理。


6

最后,请注意高可用性和NameNode联盟是两个互相独立的功能,因为它们是针对不同的问题的。可以分别激活它们而互不影响,也就是说,名字空间可以被分区,其中部分分区(或全部分区)可以给一对高可用的NameNode提供服务。

相关文章
|
7天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
5月前
|
存储 分布式计算 Hadoop
【大数据】Hadoop技术解析:大数据处理的核心引擎
【大数据】Hadoop技术解析:大数据处理的核心引擎
148 0
|
4月前
|
消息中间件 分布式计算 大数据
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)
66 0
|
4月前
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
74 0
|
6月前
|
分布式计算 大数据 Hadoop
【大数据开发技术】实验03-Hadoop读取文件
【大数据开发技术】实验03-Hadoop读取文件
101 0
|
4月前
|
SQL 分布式计算 大数据
【大数据技术Hadoop+Spark】Spark SQL、DataFrame、Dataset的讲解及操作演示(图文解释)
【大数据技术Hadoop+Spark】Spark SQL、DataFrame、Dataset的讲解及操作演示(图文解释)
53 0
|
6月前
|
分布式计算 Hadoop Java
【大数据开发技术】实验01-Hadoop安装部署
【大数据开发技术】实验01-Hadoop安装部署
133 0
|
4月前
|
分布式计算 大数据 Scala
【大数据技术Hadoop+Spark】Spark RDD创建、操作及词频统计、倒排索引实战(超详细 附源码)
【大数据技术Hadoop+Spark】Spark RDD创建、操作及词频统计、倒排索引实战(超详细 附源码)
89 1
|
3月前
|
存储 分布式计算 Hadoop
Hadoop的Secondary NameNode在HDFS中的作用是什么?
Hadoop的Secondary NameNode在HDFS中的作用是什么?
38 0
|
4月前
|
分布式计算 资源调度 大数据
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
【大数据技术Hadoop+Spark】Spark架构、原理、优势、生态系统等讲解(图文解释)
152 0