什么是HDFS联合会?

概观: 我们都知道的Hadoop的HDFS和的特点. 在本文中,我们将谈谈HDFS联邦,这有助于我们增强现有HDFS架构. 它提供了空间和存储之间的明确分离从而使得可扩展性和隔离在群集级别.

介绍: Hadoop的联合分离 命名空间 存储层. 它使块存储层. 它还扩展现有HDFS集群的架构,以允许新的实现和使用案例. 当前的HDFS架构有两层 -

  • 命名空间 - 这一层管理文件, 目录和块. 该层支持基本的文件系统操作例如. 文件上市, 创建文件, 文件的修改和删除文件和文件夹.
  • 块存储 - 这一层有两部分 -
    • 块管理 这种管理集群中的数据节点,并提供诸如创建操作, 缺失, 修改和搜索. 它也需要复制管理的护理.
    • 物理存储 这个存储块,并为读或写操作访问.
An HDFS cluster

一个HDFS集群

Figure 1: 一个HDFS集群

在当前的HDFS架构, 我们为它是由一个单一的名称节点管理的整个群集只有一个命名空间. 使用这种方法就变得更容易实现的HDFS集群. 这种架构分层工作正常,对小型的配置而对于大型组织在需要以较快的速度被照顾的数据量巨大, 例如. 雅虎和Facebook发现这种方法有一定的局限性这是由Hadoop的处理联合会. 这样的Hadoop联合会可以定义为高级架构,以克服当前HDFS实施的限制.

让我们检查的局限性解释如下 -

  • 紧密耦合的块存储和命名空间 - 在现有的结构的块存储和命名空间是紧耦合的,这使得有挑战性名称节点的替代实现,并限制其他服务直接使用块存储.
  • 命名空间可扩展性 - 在HDFS集群通过增加数据节点水平缩放,但我们不能更多空间到现有群集添加水平. 我们可以命名空间垂直缩放单一的NameNode. 名称节点存储其存储器中的完整文件系统元数据,限制块的数目, 文件和目录需要被容纳于单个名称节点的存储器中的文件系统上的支持.
  • 性能 - 当前文件系统操作被限制于可以通过一个单一的名称节点的这在目前支撑 60000 并发任务. 但是,新的未来地图Apache的减少将有超过一支持 100000 并发任务,因此将需要多个节点.
  • 隔离 - 在一般的HDFS部署可在在一个单一集群由多个组织共享的多租户环境. 在此设置一个单独的名称空间是不可能的一个应用程序或一个组织.

HDFS联合会:

Hadoop的联合允许水平扩展的名称服务. 它使用几个namenodes或命名空间它们是彼此独立的. 这些都是独立namenodes 联合 即. 它们不要求 间协调. 这些数据节点可以被所有namenodes作为通用存储. 每个数据节点与集群中的所有namenodes注册. 这些数据节点发送定期报告和响应的命令,从名字节点. 我们有一个块池是属于一个单一命名空间的一组块. 在集群, 数据节点存储所有块池块. 每个块池独立管理. 这使得名字空间来生成新块的块的IDS没有通知其他命名空间. 如果一个名称节点因为任何原因失败, 该Datanode的不断从其他namenodes服务.

一个命名空间和块统称 命名空间卷. 当一个命名空间或一个NameNode会被删除的数据节点相应的块池将被自动删除. 在群集向上渐变的过程, 每个命名空间容量升级为单位.

An HDFS federation architecture

一个HDFS联邦设计

Figure 2: 一个HDFS联邦设计

Hadoop的联盟的好处:

Hadoop的联盟出现了一些好处和利益而被列为下 -

  • 可扩展性和隔离 - 多namenodes在文件系统命名空间水平最高可扩展至. 这实际上分隔用户和应用程序的类别命名空间卷,并提供一个绝对的隔离.
  • 通用存储服务 - 块级池抽象允许该架构在块存储上构建新的文件系统. 我们可以很容易地构建块存储层上新的应用程序,而无需使用文件系统接口. 块池的定制类别,也可以建立其与默认块池不同.
  • 设计简单 - Namenodes和命名空间是彼此独立的. 几乎没有要求改变现有的名称节点任何情况. 每个名字节点建立保持强劲. 联合会还向后兼容. 它很容易与它没有任何配置更改的工作现有的单节点部署集成.

配置HDFS联合会:

Hadoop的联邦结构被设计成这样一种方式,集群中的所有节点都具有相同的结构. 配置在下面的步骤来进行 -

  • Step 1 - 以下参数需要在现有的配置中添加 -
    • nameservices - 此配置有逗号分隔NameServiceIDs列表. 此参数用于通过的Datanode确定集群中的所有namenodes.
  • Step 2 - 以下配置需要与相应的名称服务ID为后缀到共用配置文件.
    • Namenode会
    • Secondary NameNode
    • BackupNode

两个namenodes一个示例配置文件如下 -

Listing 1: 对于两个节点的示例配置文件

[Code]

<组态>

<财产>

<名称>dfs.nameservices</名称>

<值>NS1,NS2</值>

</财产>

<财产>

<名称>dfs.namenode.rpc-address.ns1</名称>

<值>NN-主机1:6600</值>

</财产>

<财产>

<名称>dfs.namenode.http-address.ns1</名称>

<值>NN-主机1:8080</值>

</财产>

<财产>

<名称>dfs.namenode.secondaryhttp-address.ns1</名称>

<值>NHS-主机1:8080</值>

</财产>

<财产>

<名称>dfs.namenode.rpc-address.ns2</名称>

<值>NN-主机2:6600</值>

</财产>

<财产>

<名称>dfs.namenode.http-address.ns2</名称>

<值>NN-主机2:8080</值>

</财产>

<财产>

<名称>dfs.namenode.secondaryhttp-address.ns2</名称>

<值>NHS-主机2:8080</值>

</财产>

</组态>

[/Code]

格式化的Namenode: 让我们的命令格式的NameNode.

  • Step 1 – 单个名称节点可以使用下面的格式化 -

$HADOOP_USER_HOME /斌/ HDFS的NameNode -format [-丛集编号 <CLUSTER_ID>]

群集ID应该是唯一的,不能与其他任何退出集群ID冲突. 如果没有提供, 一个唯一的群集ID在格式化时产生.

  • Step 2 - 其他名称节点可以使用下面的命令进行格式化 -

$HADOOP_PREFIX_HOME /斌/ HDFS的NameNode -format -clusterId <CLUSTER_ID>

重要的是在这里,这里提到的集群ID应该在所提到的相同的那 步 1. 如果这两个是不同的, 附加名称节点将不会被联合集群的一部分.

启动和停止的群集: 让我们检查命令来启动和停止集群.

  • 启动集群 - 群集可以通过执行以下命令来启动 -

$HADOOP_PREFIX_HOME /斌/ start-dfs.sh

  • 停止群集 - 群集可以通过执行以下命令停止 -

$HADOOP_PREFIX_HOME /斌/ start-dfs.sh

添加一个新的NameNode在现有的集群: 我们已经描述了多个名称节点是在Hadoop的联邦的心脏. 因此,了解步骤添加新名称节点和横向扩展是非常重要的.
需要以下步骤添加新namenodes -

  • 配置参数 - nameservices 需要在配置中添加.
  • NameServiceID 必须在配置中后缀
  • 有关的配置新的Namenode必须在配置文件中被加入.
  • 配置文件应当被传播到集群中的所有节点.
  • 启动新NameNode和辅助NameNode的
  • 刷新其他数据节点通过运行以下命令来接新添加的名称节点 -

o $HADOOP_PREFIX_HOME/bin/hdfs dfadmin -refreshNameNode <datanode_host_name>:<datanode_rpc_port>

  • 上述命令必须与群集上的所有​​数据节点上执行.

Summary: HDFS联合会已被引入来克服早期HDFS实施的限制. 在命名空间层添加可伸缩性HDFS联邦设计的最重要的特征. 但是HDFS联合会也向后兼容, 所以单一的NameNode配置也将工作没有任何变化.
让我们总结一下下面的项目符号的形式,我们的讨论

  • HDFS联邦分离 NameNode的层存储层.
  • HDFS联合会旨在克服单个节点HDFS架构的限制,其中存储可以扩展水平未命名空间.
  • HDFS联合会想出了以下优点 -
    • 隔离
    • Scalability
    • 简单设计
  • HDFS的配置非常简单,也易于管理.

 

Tagged on:
============================================= ============================================== 在亚马逊上购买最佳技术书籍,en,电工CT Chestnutelectric,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share