我是靠谱客的博主 殷勤项链,最近开发中收集的这篇文章主要介绍Windows上的flume采集数据传给服务器flume再上传给HDFS配置 source配置 sinkchannel配置 source配置 channel配置 sink,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

@Windows上的flume采集数据传给服务器flume再上传给HDFS

从该博主学习到具体方法配置

Windows flume conf 文件:

a1.sources = r1
a1.sinks = k1
a1.channels = c1

配置 source

a1.sources.r1.type = spooldir
a1.sources.r1.channels = c1
#监控目录,不能为空,没有默认值
a1.sources.r1.spoolDir = E:flumetest
#是否在event的Header中添加文件名,默认false
a1.sources.r1.fileHeader = true
#是否在header中添加文件的基本名称信息
a1.sources.r1.basenameHeader = true
#key的名称
a1.sources.r1.basenameHeaderKey = fileName
#忽略符合条件的文件名
a1.sources.r1.ignorePattern = ^(.)*.tmp$
#拦截器列表
a1.sources.r1.interceptors = i1
a1.sources.r1.interceptors.i1.type = timestamp

配置 sink

a1.sinks.k1.type = avro
a1.sinks.k1.hostname = 192.168.0.60
a1.sinks.k1.port = 44444

channel

a1.channels.c1.type=memory
#存储在channel中的最大容量
a1.channels.c1.capacity=10000
#每个事物中最大事件数
a1.channels.c1.transactionCapacity=1000
#对于添加或删除一个事件的超时的秒钟
a1.channels.c1.keep-alive=30

a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

Linux flume conf文件:

tier1.sources=source1
tier1.channels=channel1
tier1.sinks=sink1

配置 source

tier1.sources.source1.type=avro
#监听的ip地址
tier1.sources.source1.bind=192.168.0.60
#监听端口
tier1.sources.source1.port=44444
tier1.sources.source1.channels=channel1

配置 channel

tier1.channels.channel1.type=memory
#存储在channel中的最大容量
tier1.channels.channel1.capacity=10000
#每个事物中最大事件数
tier1.channels.channel1.transactionCapacity=1000
#对于添加或删除一个事件的超时的秒钟
tier1.channels.channel1.keep-alive=30

配置 sink

tier1.sinks.sink1.channel=channel1
tier1.sinks.sink1.type = hdfs
#设置存储位置及文件以”年月日/时分/秒”的形式存储文件
tier1.sinks.sink1.hdfs.path =hdfs://192.168.0.60:9000/user/winf-linf-hdfs/%y-%m-%d/%H%M/%S
#写sequence文件的格式,包含Test和默认
tier1.sinks.sink1.hdfs.writeFormat = Text
#文件格式,使用DataStream时文件不会被压缩
tier1.sinks.sink1.hdfs.fileType = DataStream
#间隔多长时间将临时文件滚动成最终目标文件,设置为0时表示不根据时间来滚动文件
tier1.sinks.sink1.hdfs.rollInterval = 0
#当临时文件达到多大时滚动成目标文件
tier1.sinks.sink1.hdfs.rollSize = 0
#当event数量达到时将临时文件滚动成目标文件
tier1.sinks.sink1.hdfs.rollCount = 0
#保存数据文件的前缀名
tier1.sinks.sink1.hdfs.filePrefix = Wf-Lf-HDFS-%Y-%m-%d
#是否使用当地时间
tier1.sinks.sink1.hdfs.useLocalTimeStamp = true
#当目前被打开的临时文件在该时间内,没有任何数据写入,则将临时文件关闭并重命名成目标文件
tier1.sinks.sink1.hdfs.idleTimeout = 60

HDFS上创建存储文件夹,Windows创建采集文件夹

先启动Linux中的flume

./flume-ng agent -c …/conf -f …/conf/linuxflume.conf -n tier1 -Dflume.root.logger=DEBUG,console

等出现 “Avro source source1 started.” 后1再启动Windows上的flume

flume-ng.cmd agent --conf …conf --conf-file …confwindowsflume.conf --name a1

添加文件到Windows上的目标文件夹,查看hdfs目录下是否接收到文件及控制台相关输出信息

最后

以上就是殷勤项链为你收集整理的Windows上的flume采集数据传给服务器flume再上传给HDFS配置 source配置 sinkchannel配置 source配置 channel配置 sink的全部内容,希望文章能够帮你解决Windows上的flume采集数据传给服务器flume再上传给HDFS配置 source配置 sinkchannel配置 source配置 channel配置 sink所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部