对象存储服务 OBS-Flume对接OBS:对接步骤

时间:2025-03-26 15:28:27

对接步骤

以flume 1.9版本为例。

  1. 下载apache-flume-1.9.0-bin.tar.gz。
  2. 安装flume。

    解压apache-flume-1.9.0-bin.tar.gz到/opt/apache-flume-1.9.0-bin目录。

    • 已部署Hadoop的环境:无需额外操作,部署Hadoop请参见Hadoop对接OBS
    • 未部署Hadoop的环境:
      1. 将hadoop中的相关jar包复制到/opt/apache-flume-1.9.0-bin/lib目录下,包含hadoop-huaweicloud-xxx.jar。
      2. 将添加了OBS相关配置的core-site.xml文件复制到/opt/apache-flume-1.9.0-bin/conf目录下。

  3. 验证是否对接成功。

    示例:以flume内置的StressSource为source,以file为channel,以obs为sink。

    1. 创建flume配置文件:sink2obs.properties。
      agent.sources = r1
      agent.channels = c1
      agent.sinks = k1
      
      agent.sources.r1.type = org.apache.flume.source.StressSource
      agent.sources.r1.channels = c1
      agent.sources.r1.size = 1024
      agent.sources.r1.maxTotalEvents = 100000
      agent.sources.r1.maxEventsPerSecond = 10000
      agent.sources.r1.batchSize=1000
      
      agent.sources.r1.interceptors = i1
      agent.sources.r1.interceptors.i1.type = host
      agent.sources.r1.interceptors.i1.useIP = false
      
      agent.channels.c1.type = file
      agent.channels.c1.dataDirs = /data/agent/flume-data
      agent.channels.c1.checkpointDir = /data/agent/flume-checkpoint
      agent.channels.c1.capacity = 500000
      agent.channels.c1.transactionCapacity = 50000
      
      agent.sinks.k1.channel = c1
      agent.sinks.k1.type = hdfs
      agent.sinks.k1.hdfs.useLocalTimeStamp = true
      agent.sinks.k1.hdfs.filePrefix = %{host}_k1
      agent.sinks.k1.hdfs.path = obs://obs-bucket/flume/create_time=%Y-%m-%d-%H-%M
      agent.sinks.k1.hdfs.fileType = DataStream
      agent.sinks.k1.hdfs.writeFormat = Text
      agent.sinks.k1.hdfs.rollSize = 0
      agent.sinks.k1.hdfs.rollCount = 1000
      agent.sinks.k1.hdfs.rollInterval = 0
      agent.sinks.k1.hdfs.batchSize = 1000
      agent.sinks.k1.hdfs.round = true
      agent.sinks.k1.hdfs.roundValue = 10
      agent.sinks.k1.hdfs.roundUnit = minute
    2. 执行以下命令,启动flume agent。

      ./bin/flume-ng agent -n agent -c conf/ -f conf/sink2obs.properties

support.huaweicloud.com/bestpractice-obs/obs_05_1512.html