更新时间:2026-08-21 GMT+08:00
分享

启用集群间拷贝功能备份集群数据

操作场景

在HDFS数据运维场景中,管理员需要将数据从当前集群备份到另一个集群,以实现数据容灾或跨集群数据迁移。HBase集群间拷贝功能基于DistCp(分布式拷贝)工具实现,DistCp通过MapReduce作业并行拷贝大量数据,适用于大规模数据迁移场景。但DistCp工具依赖于集群间复制功能,该功能默认未启用,需要在对端两个集群上都进行配置才能使用。本文介绍如何在MRS集群中启用集群间拷贝功能,以支持跨集群数据备份。

对系统的影响

启用集群间复制功能需要重启Yarn服务,重启期间Yarn服务不可用,正在运行的MapReduce任务可能失败。

建议在业务低峰期执行配置和重启操作。

前提条件

  • 两个集群HDFS的参数“hadoop.rpc.protection”需使用相同的数据传输方式,设置为“privacy”表示加密,“authentication”表示不加密。

    可登录Manager界面,选择“集群 > 服务 > HDFS > 配置”,搜索“hadoop.rpc.protection”查看。

  • 两个集群间的网络需互通,且防火墙需放行NameNode RPC端口。

操作步骤

  1. 登录集群Manager界面。

    登录集群Manager具体操作,请参考访问MRS集群Manager

  2. 单击“集群 > 服务 > Yarn”进入Yarn服务参数配置界面。

    了解如何修改集群服务配置参数,请参考修改集群服务配置参数

  3. 左边菜单栏中选择“Yarn > 集群间拷贝”。
  4. 设置“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”。

  5. 保存配置并在服务概览界面重启Yarn服务。

    界面提示“操作成功。”,单击“完成”,Yarn服务启动成功。

  6. 登录另外一个集群,重复以上操作,完成对端集群的集群间拷贝功能配置。

验证操作:

两个集群都配置完成后,可在任一集群客户端执行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重启后重新提交。

相关文档

相关文档