
Apache Flume是一个分布式、可靠、高可用的海量日志聚合系统,支持在系统中定制各种数据源发送给指定的数据接收方;同时Flume还提供简单的数据处理的方法。
完成数据的收集,分成 transtion和 event将数据传送到Channel;
Flume提供了丰富的数据收集方法的实现,如: AvroSource、Exce Source、Spooling Directory Source、NetCat Source、Syslog Source、Syslog TCP Source、Syslog UDP Source、HTTP Source、HDFS Source等等;
如: Exce Source:以运行Linux命令的方式,持续的输出最新的数据,如tail -f文件名指令,在这种方式下,取出的文件名必须是指定的;
Spool Source:是监控配置目录下新增的文件,并将文件中的内容读取出来
Sink的作用是取出Channel中的数据,推送到相应的文件或数据存储系统(如Kafka、Hadoop的HDFS)、、或者提交到远程服务器;
Flume Sink也提供了各种sink的实现,包括HDFS sink、Logger sink、Avro sink、File Roll sink、Null sink、HBase sink等等;
Flume Sink在设置存储数据时,可以向文件系统、、Hadoop中存储数据,在日志数据较小时,可以将数据存储在文件中,并且设定一定的时间间隔保存数据。java下载安装在日志数据较多时,可以将相应的日志数据存储到Hadoop中,便于日后对数据进行分析。

Flume Channel主要提供一个队列的能力,对Source中的数据进行简单的缓存;
Flume对Channel则提供了Memory Channel、JDBC Channel、File Channel;
Memory Channel:可以实现高吞吐量,但是无法保证数据的完整行;
File Channel:保证数据的完整性和一致性。在具体配置FileChannel时,建议FileChannel设置的目录和程序日志文件保存的目录在不同磁盘,从而提高效率。
Flume的安装
(1)确保系统已经安装了JDK1.7+,并且配置了Java的环境变量;
(2)下载二进制安装包,地址:
(3)创建Flume用户,上传Flume到用户目录,解压,重命名;

(4)复制flume-env.sh.template到flume-env.sh,复制flume-conf.properties.template到flume-conf.properties
Flume数据收集测试
利用netcat,发送数据,测试flume是否能收到数据:
Flume的配置如下:
从配置文件可以看出,此处的flume代理的名字是agent,采集的数据类型是 localhost 的netcat,端口是8888,数据存储类型是内存存储。
启动flume:
同时利用netcat发送信息,我们看flume 的输出信息:

我们可以看到Flume成功收集到我们nc发送的信息。java下载安装
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-69545-1.html
无可厚非
当时日本军舰都有速射炮
让所谓盟国有底气来对抗中国
因为下—次来的胡朋狗友二流子比这一次多的多