flume 实战 2,小手动起来

教程 薪牛 ⋅ 于 2022-10-15 17:42:09 ⋅ 最后回复由 李科 2022-10-16 16:39:57 ⋅ 1291 阅读

1 Sink组件

​ Flume Sink取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。Flume也提供了各种sink的实现,包括HDFS sink、Logger sink、Avro sink、File Roll sink、Null sink、HBase sink,etc。

​ Flume Sink在设置存储数据时,可以向文件系统中,数据库中,hadoop中储数据,在日志数据较少时,可以将数据存储在文件系中,并且设定一定的时间间隔保存数据,在日志数据较多时,可以将相应的日志数据存储到Hadoop中,便于日后进行相应的数据分析。

file

# avro sink
a1.sources=r1
a1.sinks=k1
a1.channels=c1

a1.sources.r1.type=avro
a1.sources.r1.bind=worker-1
a1.sources.r1.port=44444

a1.channels.c1.type=memory
a1.channels.c1.capacity=100000
a1.channels.c1.transactionCapacity=100

a1.sinks.k1.type=logger

a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
# file_role sink

#给agent组件起名
a1.sources=r1
a1.sinks=k1
a1.channels=c1

#定义source
a1.sources.r1.type=netcat
a1.sources.r1.bind=worker-1
a1.sources.r1.port=44444

#定义channel
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000000
a1.channels.c1.transactionCapacity=100

#定义sink
a1.sinks.k1.type=file_roll
a1.sinks.k1.sink.directory=/data/xinniu/file_role
a1.sinks.k1.sink.batchSize=10
#绑定
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
# hdfs sink
a1.sources=r1
a1.sinks=k1
a1.channels=c1

#定义source
a1.sources.r1.type=netcat
a1.sources.r1.bind=worker-1
a1.sources.r1.port=44444

#定义channel
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000000
a1.channels.c1.transactionCapacity=100

#定义sink
a1.sinks.k1.type=hdfs
a1.sinks.k1.hdfs.path=/data/xinniu/output/%Y-%m-%d
a1.sinks.k1.hdfs.useLocalTimeStamp=true
a1.sinks.k1.hdfs.fileType=DataStream
a1.sinks.k1.hdfs.filePrefix=hainiu-
a1.sinks.k1.hdfs.fileSuffix=.log
#绑定
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1
回复帖子,然后刷新页面即可查看隐藏内容

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-薪牛,http://hainiubl.com/topics/75924
回复数量: 8
  • 青牛 海汼部落创始人,80后程序员一枚,曾就职于金山,喜欢倒腾技术做产品
    2022-10-15 17:43:44

    :laughing:

  • 薪牛
    2022-10-15 19:15:43

    课程回顾:
    source:
    1,netcat:用来监听一个tcp发送到指定ip指定端口的数据
    2,spooling directory :监听某一个目录,目录下有文件产生就会被source监听并且收集到
    3,exec: 监听一个命令执行完的结果,结果会作为数据源收集到
    4,taildir:监听某一个目录下指定格式的数据 比如xxx.log,并且支持断点续传
    channel:
    1,memory:将source收集过来的数据暂存到内存中,优点就是快,但是缺点就是不安全
    2,file:将source收集过来的数据暂存到磁盘中,优点就是数据安全,缺点就是速度会略微慢一点。
    sink--今天

  • 薪牛
    2022-10-15 19:17:07
  • 薪牛
    2022-10-15 19:32:40

    启动agent的命令,注意,需要替换-f后面的agent脚本:flume-ng agent -n a1 -c /opt/apache-flume-1.10.1-bin/conf/ -f ./filerole.agent -Dflume.root.logger=INFO,console

  • 薪牛
    2022-10-15 20:23:12

    查看hdfs上某一个目录下的文件:hadopo fs -ls /data/hdfssink
    查看hdfs文件的内容:hadoop fs -cat /data/hdfssink/hainiu-.1665836316961.log

  • 郭浩
    2022-10-15 20:30:01

    :+1:

  • 薪牛
    2022-10-15 20:55:29
  • 李科
    2022-10-16 16:39:57

    666

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter