You need to enable JavaScript to run this app.
导航
迁移 Hadoop 文件系统数据至 CloudFS
最近更新时间:2024.10.12 12:06:37首次发布时间: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. 执行以下命令,下载1.5.3.43版本的CloudfsSDK包。
wget https://cloudfs.tos-cn-beijing.volces.com/sdk/prod/cloudfs-client-1.5.3.43.tar.gz
  1. 执行以下命令,解压CloudfsSDK包。
tar -zxvf cloudfs-client-1.5.3.43.tar.gz
  1. 将解压文件cloudfs-client/lib/cloudfs-sdk-1.5.3.43.jar拷贝至集群/share/hadoop/hdfs路径下。

    cp {YOUR_DOWNLOAD_PATH}/cloudfs-client/lib/cloudfs-sdk-1.5.3.43.jar /opt/{Directory}/hadoop/share/hadoop/hdfs/
    
  2. 配置 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