1-24日报
特点:flume是一个分布式、可靠、高可用的海量日志采集、聚合和传输的系统。支持在日志系统中制定各类数据发送方,用于收集数据。同时,flume提供对数据进行简单处理,并写到各种数据接收方(比如文本、hdfs、hbase等)的能力。flume的数据流由事件贯穿始终。事件是flume的基本数据单位
,它携带日志数据(字节数组形式)并且携带头信息。这些事件(event)由Agent
外部的Source
生成。当source捕获事件后会进行特定的格式化,然后source会把事件推入(单个或多个)channel中
。可以把channel看作是一个缓冲区,它将保存事件知道sink处理完该事件。sink负责持久化日志或者把事件推向另一个source
可靠性:当节点出现故障时,日志能够被传送到其它节点而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次为:end-to-end(收到数据,agent首先将event写到磁盘上。当数据发送成功后,再删除。如果数据发送失败,可以重新发送)
、Store on failure(这也是scribe采用的策略。当数据接收方crash时,将数据写到本地,待恢复后再发送)
、Besteffort(数据发送到接收方后,不会进行确认)
可恢复性:还是靠channel。推荐使用FileChannel,事件持久化在本地文件系统里。