
# 配置Flume通过IAM委托访问OBS
参考[配置MRS集群通过IAM委托对接OBS](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0768.html)完成存算分离集群配置后，Flume即可运行OBS作业。例如，本章节以提交一个读取客户端节点的txt文件内容输出到OBS目录中的Flume作业为例进行介绍。
#### 约束与限制
本章节适用于MRS 3.x及之后的版本。
#### Flume对接OBS
1. 创建用于存放数据的OBS文件夹。
   
   1. 登录[OBS管理控制台](https://console.huaweicloud.com/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"目录下，并执行以下命令修改权限：
   
   1. 切换至"lib"目录下：
      ```
      cd Flume客户端安装目录/fusionInsight-flume-*/lib
      ```
      
   
   
   
   2. 修改"hadoop-huaweicloud-\*.jar"权限：
      ```
      chmod 755 hadoop-huaweicloud-*.jar
      ```
      
   
   3. 修改"mrs-obs-provider-\*.jar"权限：
      ```
      chmod 755 mrs-obs-provider-*.jar
      ```
      
   
   
   
   
6. 执行以下命令重启Flume客户端： 
   切换至"bin"目录下：
   ```
   cd Flume客户端安装目录/fusionInsight-flume-*/bin
   ```
   重启Flume客户端：
   ```
   ./flume-manager.sh restart
   ```
   
   
7. 在OBS系统中查看结果。 
   1. 登录[OBS管理控制台](https://console.huaweicloud.com/obs/)。
   
   2. 单击"并行文件系统"，进入[步骤 1]中创建的并行文件系统中的文件夹查看结果。
   
   
   
   
 
