配置从NameNode支持读操作
配置场景
在配置了HA的HDFS集群中,存在一个主NameNode和一个备NameNode。主NameNode处理所有的客户端请求,备NameNode保持最新的元数据信息和块位置信息。但是在这种架构存在一个缺点:主NameNode会成为客户端请求处理的瓶颈,在请求繁忙的集群中表现更为明显。
为了解决主NameNode的瓶颈问题,引入了一个新状态的NameNode:从NameNode。从NameNode类似于备NameNode,也保持着最新的元数据信息和块位置信息。除此之外,从NameNode也可以像主NameNode一样处理客户端的读请求。由于在典型的HDFS集群中,读请求占大多数,因此从NameNode支持读可以降低主NameNode的负载,提高集群处理能力。
本章节适用于MRS 3.x及后续版本。
对系统的影响
- 配置从NameNode支持读可以降低主NameNode的负载,提高HDFS集群的处理能力,尤其是在大集群下效果明显。
- 配置从NameNode支持读需要更新客户端应用配置。
前提条件
- 已安装HDFS集群,主备NameNode正常,HDFS服务正常。
- 规划安装从NameNode的节点已经创建“${BIGDATA_DATA_HOME}/namenode”分区。
操作步骤
以配置hacluster的从NameNode支持读为例来说明,如果集群中有多对NameService,且都在使用,可参考如下步骤为每对NameService配置从NameNode支持读。
- 登录FusionInsight Manager页面。
- 选择“集群 > 服务 > HDFS > 管理NameService”。
- 单击hacluster后的“添加”按钮。
- 在添加NameNode页面,“NameNode类型”选择“从”,单击“下一步”。
- 在分配角色页面,选择已规划的主机,添加从NameNode,单击“下一步”。
每对NameService最多可添加5个从NameNode。
- 在配置页面,按照规划配置NameNode的存储目录、端口等信息,单击“下一步”。
- 确认信息无误,单击“提交”,等待从NameNode安装完成。
- 重启依赖HDFS的上层组件,更新客户端应用配置,重启客户端应用。