Flume上传图片到S3

需求分析

根据游戏部门的需求,他们需要会将论坛图片存储到本地目录,然后需要将这些图片实时上传到S3上并做CDN映射。图片格式为jpg或者jpeg格式。在将文件存储到S3时要按照天为目录,并保留原文件名。

Flume配置

配置文件名为 game.imp.conf配置内容如下

	# Name the components on this agent
	game.sources = r1
	game.sinks = k1
	game.channels = c1
	game.deserializer.maxLineLength = 1048576
	
    # flow for ios impression
	game.sources.r1.channels = c1
	game.sources.k1.channels = c1
	

	game.sources.r1.type = spooldir 
	# 配置本地监控目录
	game.sources.r1.spoolDir=/opt/appfile/forumfile/spooldir
	#一个BLOB(Binary Large Object )对象为一个event常见的是一个文件为一个BLOB对象,比如一个PDF或者一个JPG。
    #注意这种方式处理的文件不宜过大,因为会将整个BLOB对象缓存在RAM中。
	game.sources.r1.deserializer = org.apache.flume.sink.solr.morphline.BlobDeserializer$Builder
	game.sources.r1.deserializer.maxBlobLength = 100000000
	#在event中加上一个header,以保存event所属文件的文件名
	game.sources.r1.basenameHeader=true
	#用以保存event所属文件的文件名的header的key
	game.sources.r1.basenameHeaderKey=basename
	#文件被flume处理过后,为其加后缀
	game.sources.r1.fileSuffix = .bak
		
	game.channels.c1.type = memory
	game.channels.c1.capacity=100000
	game.channels.c1.transactionCapacity=5000
	
	game.sinks.k1.type = hdfs
	game.sinks.k1.hdfs.useLocalTimeStamp = true
	game.sinks.k1.hdfs.path = s3a://flume-gamefilecdn/forumfile/%Y%m%d/
	game.sinks.k1.channel = c1
	game.sinks.k1.hdfs.callTimeout = 300000
	game.sinks.k1.hdfs.filePrefix = %{basename} 
	game.sinks.k1.hdfs.fileType = DataStream

因为文件上传到S3因此需要配置S3的信息,主要操作是在conf目录下面创建core-site.xml文件,然后再文件中添加以下内容。

<configuration>
        <property>
             
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值