Flume中常见的易错的问题
一、Flume中几个常见的Source
(1)、首先先要知道几个常见的概念:断点续传、(实时)监控
断点续传的意思就是说如果在数据传输的过程中发生了故障,那么Flume能够从上次传输失败的地方继续传输数据,而不用从头开始去传输数据。
监控的意思就是各自的source组件是会监控各自的数据来源的,当数据来源中有数据到来时,就会触发组件执行,但是这里需要注意的就是实时监控,实时监控是可以实时的监控到数据来源中的数据改变的并及时的作出处理。但是有些组件的监控方式并不是实时的,而是有可能是里面的数据更改过之后,比如有一个文件的数据都已经写入才会做出处理,那这样的监控就不是实时监控,但是也是监控的一种。
(2)、几种常见的Source
2.1、Netcat Source
原理:监控某一个端口,将流经端口中的每一个文本行数据作为Event输入。
适用于能够进行实时数据采集的场景。
2.2、Spooling Directory Source
原理:监控指定目录中的文件,当文件被移动到被监控的目录中后,Source会读取文件中的内容并将其发送到Channel。
适用于批量数据的采集,但是不能实现实时的数据监控,而且不能断点续传。
2.3、Taildir Source
原理:他可以实时监控指定目录下的对个文件,一旦该目录中的数据发生了改变,就会实时读取新改变的内容,并且记录每个文件的最新采集位置。一旦发生了故障,当下次重新启动后会从采集位置开始采集数据。
适用于实时数据的采集,而且可以实现断点续传。
2.4、Exec Source
原理:可以采集通过命令行输出的数据。