配置Flume通过IAM委托访问OBS
参考配置MRS集群通过IAM委托对接OBS完成存算分离集群配置后,Flume即可运行OBS作业。
本章节适用于MRS 3.x及之后的版本。
Flume对接OBS
- 创建用于存放数据的OBS文件夹。
- 登录OBS控制台。
- 单击“并行文件系统”进入并行文件系统页面。
- 在OBS控制台并行文件系统列表中,单击已新建的文件系统名称进入详情页面。
- 在左侧导航栏选择“文件 > 新建文件夹”新建“testFlumeOutput”文件夹。
- 使用root用户登录安装Flume客户端的节点。
- 新建“/opt/flumeInput”目录,并在该目录下新建一个内容自定义的txt文件。
- 编辑“客户端安装目录/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
- 将“客户端安装目录/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
- 执行以下命令重启Flume客户端:
cd Flume客户端安装目录/fusionInsight-flume-*/bin
./flume-manager.sh restart
- 在OBS系统中查看结果。
- 登录OBS控制台。
- 单击“并行文件系统”,进入1中创建的并行文件系统中的文件夹查看结果。