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

配置 MapReduce 的 HDFS 服务使用 CloudFS

最近更新时间2023.08.02 14:36:25

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

火山引擎 E-MapReduce 是开源 Hadoop 生态的企业级大数据分析系统,提供 Hadoop、Spark、Hive、Flink 等生态组件集成和管理。本文介绍如何配置 MapReduce 上的 HDFS 服务来使用文件存储 CloudFS。

前提条件

在配置 MapReduce 使用 CloudFS,确保您已经完成以下准备工作:

  • 开通大数据文件存储服务 CloudFS 并创建文件存储,获取挂载信息。详细操作请参考创建文件存储系统
  • 开通 E-MapReduce 服务并创建集群。详细操作请参考E-MapReduce 集群创建
  • 已完成 MapReduce 数据迁移。

步骤一:配置 MapReduce 的 HDFS 服务

说明

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

  1. 下载 CloudFS SDK 并解压到指定存储目录下。下载地址:inf.hdfs.cfs_sdk_deploy_1.4.1.tar.gz

  2. 使用如下命令将cloudfs-hadoop-with-dependencies-cfs-1.4.1.jar拷贝至集群/share/hadoop/hdf路径下。

    cp {YOUR_DOWNLOAD_PATH}/cloudfs-hadoop-with-dependencies-cfs-1.4.1.jar /opt/{Directory}/hadoop/share/hadoop/hdfs/
    
  3. 配置 core-site.xml。

    <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 和私有访问密钥,详细说明请参考密钥管理
  4. 登录火山引擎 E-MapReduce 控制台。

  5. 在集群管理页面,找到需要挂载文件存储实例的目标 E-MapReduce 集群。

    1. 选择服务列表 > HDFS
    2. 在页面右侧的操作栏中,单击重启 > 重启全部组件,重启服务。

步骤二:使用 MapReduce 处理 CloudFS 数据

使用 E-MapReduce hadoop 中自带的测试包hadoop-mapreduce-examples-*.jar进行测试。该测试包默认放置在/opt/{YOUR_PATH}/hadoop/2.x.x-1.x.x/package/hadoop-2.x.x-1.x.x/share/hadoop/mapreduce/目录下。

  1. 执行以下命令,在/mr/input目录下生成并查看目标数据。例如:

    hadoop jar /opt/{YOUR_PATH}/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar \
    teragen 100000 cfs://{YOUR_ENDPOINT}/mr/input
    
    hadoop jar /opt/tiger/current/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar \
    terasort cfs://{YOUR_ENDPOINT}/mr/input cfs://{YOUR_ENDPOINT}/mr/output
    

    说明

    {YOUR_ENDPOINT}替换为您的文件存储实例上的挂载点域名(cfs://xxxx.cfs-cn-beijing.ivolces.com)。