更新时间:2024-11-29 GMT+08:00

配置从NameNode支持读

配置场景

在配置了HA的HDFS集群中,存在一个主NameNode和一个备NameNode。主NameNode处理所有的客户端请求,备NameNode保持最新的元数据信息和块位置信息。但是在这种架构存在一个缺点:主NameNode会成为客户端请求处理的瓶颈,在请求繁忙的集群中表现更为明显。

为了解决主NameNode的瓶颈问题,引入了一个新状态的NameNode:从NameNode。从NameNode类似于备NameNode,也保持着最新的元数据信息和块位置信息。除此之外,从NameNode也可以像主NameNode一样处理客户端的读请求。由于在典型的HDFS集群中,读请求占大多数,因此从NameNode支持读可以降低主NameNode的负载,提高集群处理能力。

对系统的影响

  • 配置从NameNode支持读可以降低主NameNode的负载,提高HDFS集群的处理能力,尤其是在大集群下效果明显。
  • 配置从NameNode支持读需要更新客户端应用配置。

前提条件

  • 已安装HDFS集群,主备NameNode正常,HDFS服务正常。
  • 规划安装从NameNode的节点已经创建“${BIGDATA_DATA_HOME}/namenode”分区。

操作步骤

以配置hacluster的从NameNode支持读为例来说明,如果集群中有多对NameService,且都在使用,可参考如下步骤为每对NameService配置从NameNode支持读。

  1. 登录FusionInsight Manager页面。
  2. 选择“集群 > 服务 > HDFS > 管理NameService”。
  3. 单击hacluster后的“添加”按钮。
  4. 在添加NameNode页面,“NameNode类型”选择“从”,单击“下一步”。
  5. 在分配角色页面,选择已规划的主机,添加从NameNode,单击“下一步”。

    每对NameService最多可添加5个从NameNode。

  6. 在配置页面,按照规划配置NameNode的存储目录、端口等信息,单击“下一步”。
  7. 确认信息无误,单击“提交”,等待从NameNode安装完成。
  1. 重启依赖HDFS的上层组件,更新客户端应用配置,重启客户端应用。