flume基本知识要点儿须知




运行flume:flume-ng agent -c conf -f netcat to_logger.conf --name a

telnet centosl 8888

yum install telnet.x86 61



特点:
    1.采集大量的log数据
    2.高可靠性,高效性和高可用性
    3.分布式
    4.不仅可以采集转移数据,还可以对数据进行处的处理操作(对数据的简单清洗可以由flume,来完成)
flume--ng的架构组件
    一个flume的服务节点被称作一个agent,一个agent里面包含:
            source
            channel
            sink
        三种组件之间通过Event来交互数据
flume,的agent之间可以链式集成
从网络端口上采集数据,并把数据显示在logo控制台
    source: netcat类型
    sink:    logger类型
    channel: memory类型
##### flume的开发过程
    1.选择source, channel, sink的类型
    2.创建配置文件
    3.声明:source, sink, channel的名称
    4.各自配置source, sink, channel的参数
    5.把source, sink, channel连接起来



#### flume的source和sink的类型
source:
sink:
Avro Source:监听在agent的某个网络端口上等待接受数据并且采集,网络协议是avro的协议,当配置agent链式集成的时候一般用avro类型的source
Spooling Directory Source:监听一个文件夹,当这个文件夹下有新的文件放入进来的时候,采集这个文件的内容作为数据内容
        限制1:文件进入到被监听文件夹后就不允许被编辑了
        限制2:文件夹放入的文件不能重名
Taildir Source:监听多个文件,当这些文件中有新的内容出现时,会实时的被flume采集,新增的内容就是被采集的内容
NetCat TCP Source:测试时常用,和avro source的采集过程相似,只不过是采用tcp或udp协议来传输被采集的数据
kafka source:从kafka里获取数据,作为采集内容
Exec Source(不常用):接受Unix的指令指定的标准输出结果作为采集的数据内容如:cat [named pipe]
JMS Source(不常用):在消息队列中采集数据内容activemq等
Syslog Sources(不常用):采集系统日志
HDFS Sinks:把采集到的数据放到HDFS中
Hive Sinks:把采集到的数据放到hive中
HbaseSinks:把数据采集到hbase中
Kafka Sink:把采集到的数据存放到kafka中
Avro sink:把数据以Avro的协议发送出去,一般用于链式集成多个agent的场景下
Logger sink:用来测试和调试
Memory Channel:效率高速度快但数据可能会丢失
Kafka Channel:效率高速度快,数据不会丢失,配置比较复杂
File Channel:效率低会有磁盘I0,但是数据不会丢失
JDBC channel:把数据放入数据库中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值