更新时间:2024-12-06 GMT+08:00

配置Flume通过IAM委托访问OBS

参考配置MRS集群通过IAM委托对接OBS完成存算分离集群配置后,Flume即可运行OBS作业。

本章节适用于MRS 3.x及之后的版本。

Flume对接OBS

  1. 创建用于存放数据的OBS文件夹。

    1. 登录OBS控制台。
    2. 单击“并行文件系统”进入并行文件系统页面。
    3. 在OBS控制台并行文件系统列表中,单击已新建的文件系统名称进入详情页面。
    4. 在左侧导航栏选择“文件 > 新建文件夹”新建“testFlumeOutput”文件夹。

  2. 使用root用户登录安装Flume客户端的节点。
  3. 新建“/opt/flumeInput”目录,并在该目录下新建一个内容自定义的txt文件。
  4. 编辑“客户端安装目录/FusionInsight-flume-*/properties.properties”文件,新增如下内容:

    # source
    server.sources = r1
    # channels
    server.channels = c1
    # sink
    server.sinks = obs_sink
    # ----- define net source -----
    server.sources.r1.type = seq
    server.sources.r1.spooldir = /opt/flumeInput
    # ---- define OBS sink ----
    server.sinks.obs_sink.type = hdfs
    server.sinks.obs_sink.hdfs.path = obs://esdk-c-test-pfs1/testFlumeOutput
    server.sinks.obs_sink.hdfs.filePrefix = %[localhost]
    server.sinks.obs_sink.hdfs.useLocalTimeStamp = true
    # set file size to trigger roll
    server.sinks.obs_sink.hdfs.rollSize = 0
    server.sinks.obs_sink.hdfs.rollCount = 0
    server.sinks.obs_sink.hdfs.rollInterval = 5
    #server.sinks.obs_sink.hdfs.threadsPoolSize = 30
    server.sinks.obs_sink.hdfs.fileType = DataStream
    server.sinks.obs_sink.hdfs.writeFormat = Text
    server.sinks.obs_sink.hdfs.fileCloseByEndEvent = false
    
    # define channel
    server.channels.c1.type = memory
    server.channels.c1.capacity = 1000
    # transaction size
    server.channels.c1.transactionCapacity = 1000
    server.channels.c1.byteCapacity = 800000
    server.channels.c1.byteCapacityBufferPercentage = 20
    server.channels.c1.keep-alive = 60
    server.sources.r1.channels = c1
    server.sinks.obs_sink.channel = c1
    • 参数“server.sources.r1.spooldir”的值为3新建的txt文件所在目录。
    • 参数“server.sinks.obs_sink.hdfs.path”中的值为1中新建的OBS文件系统。

  5. 将“客户端安装目录/Hive/Beeline/lib”目录下的“hadoop-huaweicloud-*.jar”和“mrs-obs-provider-*.jar”文件复制到“Flume客户端安装目录/fusionInsight-flume-*/lib”目录下,并执行以下命令修改权限:

    cd Flume客户端安装目录/fusionInsight-flume-*/lib

    chmod 755 hadoop-huaweicloud-*.jar

    chmod 755 mrs-obs-provider-*.jar

  6. 执行以下命令重启Flume客户端:

    cd Flume客户端安装目录/fusionInsight-flume-*/bin

    ./flume-manager.sh restart

  7. 在OBS系统中查看结果。

    1. 登录OBS控制台。
    2. 单击“并行文件系统”,进入1中创建的并行文件系统中的文件夹查看结果。