配置NFS服务器存储NameNode元数据
操作场景
用户在部署集群前,可根据需要规划Network File System(简称NFS)服务器,用于存储NameNode元数据,以提高数据可靠性。
在生产环境中,NameNode元数据仅存储在本地磁盘存在单点故障风险,通过将元数据同步存储到NFS服务器,可实现元数据冗余备份,当本地磁盘故障时仍可从NFS恢复数据,提升HDFS整体可靠性。如果您已经部署NFS服务器,并已配置NFS服务,本操作提供集群侧的配置指导。
约束与限制
本章节适用于MRS 3.x及后续版本。
配置NFS服务器
- 在NFS服务器上检查NFS的共享目录权限,确认服务器可以访问MRS集群的NameNode。
- 以root用户登录NameNode主节点。
登录集群内节点具体操作,请参考登录MRS集群节点。
- 执行如下命令,创建目录并赋予目录写权限。
mkdir ${BIGDATA_DATA_HOME}/namenode-nfschown omm:wheel ${BIGDATA_DATA_HOME}/namenode-nfschmod 750 ${BIGDATA_DATA_HOME}/namenode-nfs - 执行如下命令,挂载NFS到NameNode主节点。
mount -t nfs -o rsize=8192,wsize=8192,soft,nolock,timeo=3,intr NFS服务器IP地址:共享目录 ${BIGDATA_DATA_HOME}/namenode-nfs
例如,NFS服务器的IP为“192.168.0.11”,共享目录为“/opt/Hadoop/NameNode”,则执行命令:
mount -t nfs -o rsize=8192,wsize=8192,soft,nolock,timeo=3,intr 192.168.0.11:/opt/Hadoop/NameNode ${BIGDATA_DATA_HOME}/namenode-nfs - 在NameNode备节点上执行2~4。
主备NameNode节点在NFS服务器上创建的共享目录名称(如“/opt/Hadoop/NameNode”)不能相同。
- 登录MRS集群Manager页面,选择“集群 > 服务 > HDFS > 配置 > 全部配置”。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 搜索“dfs.namenode.name.dir”参数,在其值中增加“${BIGDATA_DATA_HOME}/namenode-nfs”路径,多个路径间使用“,”隔开,修改完成后保存配置。
表1 参数解释 参数名称
参数描述
默认取值
dfs.namenode.name.dir
DFS NameNode在本地文件系统存储fsimage的目录。
如果设置为一个以逗号分隔的目录列表,那fsimage会复制到该列表中的所有目录以进行冗余备份。
${BIGDATA_DATADIR}为系统安装时指定的集群数据根目录。请谨慎修改该项。如果配置不当,将造成服务不可用。
${BIGDATA_DATADIR}/namenode
- 在HDFS概览页面选择“更多 > 重启服务”,根据界面提示重启服务。
重启HDFS服务会导致HDFS短暂不可用,建议在业务低峰期操作。
常见问题
- Q1:NFS挂载失败怎么办?
请检查NFS服务器是否正常运行、NFS服务是否已启动、网络是否连通、防火墙是否放行NFS端口。
- Q2:配置后NameNode无法启动怎么办?
请检查NFS挂载目录权限是否正确、磁盘空间是否充足、dfs.namenode.name.dir参数配置是否正确。
相关文档
- 如需备份NameNode元数据至NFS中,请参考备份HDFS NameNode元数据。
- 如需备份HDFS业务数据至NFS中,请参考备份HDFS NameNode元数据。