启用集群间拷贝功能备份集群数据
操作场景
在HDFS数据运维场景中,管理员需要将数据从当前集群备份到另一个集群,以实现数据容灾或跨集群数据迁移。HBase集群间拷贝功能基于DistCp(分布式拷贝)工具实现,DistCp通过MapReduce作业并行拷贝大量数据,适用于大规模数据迁移场景。但DistCp工具依赖于集群间复制功能,该功能默认未启用,需要在对端两个集群上都进行配置才能使用。本文介绍如何在MRS集群中启用集群间拷贝功能,以支持跨集群数据备份。
对系统的影响
启用集群间复制功能需要重启Yarn服务,重启期间Yarn服务不可用,正在运行的MapReduce任务可能失败。
建议在业务低峰期执行配置和重启操作。
前提条件
操作步骤
- 登录集群Manager界面。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 单击“集群 > 服务 > Yarn”进入Yarn服务参数配置界面。
了解如何修改集群服务配置参数,请参考修改集群服务配置参数。
- 左边菜单栏中选择“Yarn > 集群间拷贝”。
- 设置“dfs.namenode.rpc-address”参数的“haclusterX.remotenn1”值为对端集群其中一个NameNode实例的业务IP和RPC端口,设置“haclusterX.remotenn2”值为对端集群另外一个NameNode实例的业务IP和RPC端口,格式为“IP:port”。

“dfs.namenode.rpc-address.haclusterX.remotenn1”和“dfs.namenode.rpc-address.haclusterX.remotenn2”不区分主备NameNode。NameNode实例的业务IP可登录Manager页面,选择“集群 > 服务 > HDFS > 实例”获取;NameNode RPC端口可进入到HDFS服务配置页面搜索“dfs.namenode.rpc.port”参数获取,不支持通过Manager修改。
修改后参数值例如:“10.1.1.1:9820”和“10.1.1.2:9820”。
- 保存配置并在服务概览界面重启Yarn服务。
界面提示“操作成功。”,单击“完成”,Yarn服务启动成功。
- 登录另外一个集群,重复以上操作,完成对端集群的集群间拷贝功能配置。
验证操作:
两个集群都配置完成后,可在任一集群客户端执行DistCp命令测试跨集群拷贝功能是否正常。例如执行以下命令将本集群的测试文件拷贝到对端集群:
hadoop distcp hdfs://hacluster/testfile hdfs://haclusterX/testfile
如果命令执行成功且对端集群中文件存在,则表示集群间拷贝功能配置成功。
常见问题
- DistCp拷贝任务失败
常见的失败原因包括:对端集群NameNode RPC地址配置错误、两个集群间网络不通、防火墙未放行RPC端口、两个集群的“hadoop.rpc.protection”参数值不一致等。
请检查对端集群NameNode IP和端口是否正确,确认两个集群间网络可达且防火墙已放行RPC端口。确认两个集群的“hadoop.rpc.protection”参数值一致。查看DistCp任务日志定位具体错误信息。
- 重启Yarn后任务失败
重启Yarn服务期间,正在运行的MapReduce任务可能因服务不可用而失败。
建议在业务低峰期执行重启操作。如有正在运行的关键任务,请等待任务完成后再重启。已失败的任务可在Yarn重启后重新提交。