Flume Source 详解

Flume Source 详解

Source 类型

Flume 支持从不同的 Source(数据源)采集数据,如下:

数据源描述
Avro Source 通过监听一个网络端口来接受数据,而且接受的数据必须是使用avro序列化框架序列化后的数据;
Thrift Source 监听Thrift端口并从外部Thrift客户端流接收事件
Exec Source 启动一个用户所指定的linux shell命令;采集这个linux shell命令的标准输出,作为收集到的数据,转为event写入channel
JMS Source 从JMS目标(例如队列或主题)读取消息;作为JMS应用程序,它应可与任何JMS提供程序一起使用,但仅经过ActiveMQ的测试;注意,应该使用plugins.d目录(首选),命令行上的–classpath或通过flume-env.sh中的FLUME_CLASSPATH变量将提供的JMS jar包含在Flume类路径中
Spooling Directory Source 监视一个指定的文件夹,如果文件夹下有没采集过的新文件,则将这些新文件中的数据采集,并转成event写入channel;注意:spooling目录中的文件必须是不可变的,而且是不能重名的!否则,source会loudly fail!
Taildir Source 监视指定目录下的一批文件,只要某个文件中有新写入的行,则会被tail到;它会记录每一个文件所tail到的位置,记录到一个指定的positionfile保存目录中,格式为json(如果需要的时候,可以人为修改,就可以让source从任意指定的位置开始读取数据);它对采集完成的文件,不会做任何修改
Kafka Source 就是用kafka consumer连接kafka,读取数据,然后转换成event,写入channel
NetCat Source 启动一个socket服务,监听一个端口;将端口上收到的数据,转成event写入channel
Sequence Generator Source 一个简单的序列生成器,它使用从0开始,递增1并在totalEvents处停止的计数器连续生成事件;当无法发送event到channel时会进行重试。通常用于测试。
Syslog Sources 读取系统日志数据生成event
HTTP Source 通过http post/get来接收数据,通常get用于测试;该source基于Jetty 9.4,并提供了设置其他特定于Jetty的参数的功能,这些参数将直接传递给Jetty组件
Stress Source 主要用于压测,用于可以配置要发生的event总数以及要发送成功event的最大数
Custom Source 自定义 source
posted @ 2022-01-28 23:55  追こするれい的人  阅读(129)  评论(0编辑  收藏  举报