You need to enable JavaScript to run this app.
导航

迁移 Hadoop 文件系统数据至 CloudFS

最近更新时间2024.02.28 11:45:15

首次发布时间2022.05.26 14:18:32

本文介绍如何将 IDC 或自建 Hadoop 文件系统数据迁移至 CloudFS。迁移后,您可以在 CloudFS 中管理和访问数据。

前提条件

在迁移 Hadoop 文件系统数据至 CloudFS 前,确保您已经完成以下准备工作:

  • 开通大数据文件存储 CloudFS 版服务并创建文件系统实例和挂载点。详细操作请参考创建大数据文件存储
  • 本文选择基于火山引擎 ECS 搭建 Hadoop 集群(以下称"迁移集群"),用于访问大数据文件存储 CloudFS 和迁移数据,并满足以下条件:
    • 迁移集群与大数据文件存储 CloudFS 实例在相同区域、相同可用区。
    • 迁移集群与大数据文件存储 CloudFS 的挂载点使用相同火山引擎 VPC 网络和交换机。
    • 迁移集群上安装的 JDK 版本不低于1.8。
    • 迁移集群上安装的 Hadoop 版本不低于2.6.0。

    说明

    如果原集群满足上述条件且计算资源充足,可以直接将原集群当作迁移集群使用,而不必额外创建新集群。

步骤一:配置 CloudFS 服务

说明

集群所有节点都要修改如下配置。

  1. 下载 CloudFS SDK 并解压。下载地址:inf.hdfs.cfs_sdk_deploy_1.4.1.tar.gz

  2. 将解压后的 SDK 目录下的cloudfs-hadoop-with-dependencies-cfs-1.4.1.jar文件复制到Hadoop的share/hadoop/hdfs目录下。

  3. 配置core-site.xml文件。

    <property>
      <name>fs.defaultFS</name>
      <value>cfs://xxxx.cfs-cn-beijing.ivolces.com</value>
    </property>
    <property>
      <name>fs.cfs.impl</name>
      <value>com.volcengine.cloudfs.fs.CfsFileSystem</value>
    </property>
    
    <property>
      <name>fs.AbstractFileSystem.cfs.impl</name>
      <value>com.volcengine.cloudfs.fs.CFS</value>
    </property>  
    
    <property>
      <name>cfs.access.key</name>
      <value>AKxxxxxxxxxxx</value>
    </property>
    <property>
      <name>cfs.secret.key</name>
      <value>SKxxxxxxxxxxx</value>
    </property>
    
    <!-- 可选:如果使用的是 STS Token,需要填写 -->
    <property>
      <name>cfs.security.token</name>
      <value>STSTokenxxxxxxxx</value>
    </property>
    
    <!-- 可选:如果开启缓存加速,需要配置缓存加速接入的 VPC 的网段 -->
    <property>
      <name>cfs.client.network.segment</name>
      <value><VPC 网段,例如 192.168.0.0/16></value>
    </property>
    

    说明

    • xxxx.cfs-cn-beijing.ivolces.com是大数据文件存储的挂载点地址,将其替换为已创建文件存储系统的挂载地址即可。
    • AKxxxSKxxx分别为访问密钥 ID 和私有访问密钥,详细说明请参考密钥管理

步骤二:迁移 Hadoop 数据至 CloudFS

直接从原集群迁移数据到大数据文件存储 CloudFS,需要先连通原集群和迁移集群的网络环境,再执行数据迁移任务。

  1. 验证迁移集群和大数据文件存储 CloudFS 文件存储系统之间的连通性。

    1. 执行以下命令,在大数据文件存储 CloudFS 上创建目录(例如/dfs_links):
      hdfs dfs -mkdir /dfs_links
    2. 执行以下命令,验证连通性。
      hdfs dfs -ls cfs://xxxx.cfs-cn-beijing.ivolces.com/dfs_links

      说明

      xxxx.cfs-cn-beijing.ivolces.com为大数据文件存储系统的挂载点,请根据您的实际情况进行修改。

  2. 使用 hadoop shell 迁移集群 HDFS 数据至 CloudFS。

    hdfs dfs -cp hdfs:///README.md cfs://{CFS_ENDPOINT}/
    

    说明

    {CFS_ENDPOINT}替换为您的文件存储系统的挂载点例cfs://xxxx.cfs-cn-beijing.ivolces.com