flume介绍
flume被设计为一个灵活的分布式系统,可以很容易的扩展,而且是高度可定制化的,一个配置正确的Flume Agent和由互相连接的Agent创建的Agent管道,保证不会丢失数据,提供持久的channel。Flume部署的最小单元是Flume Agent ,一个Flume Agent可以连接一个或者多个其他的Agent。一个Agent也可以从一个或者多个Agent接收数据。通过互相连接的多个Flume Agent,一个流作业被建立,这个Flume Agent链条可以将数据从一个位置移动到另一个位置-----特别是,从生产数据的应用程序到HDFS、HBase等。
Flume Agent内部原理
每个Flume Agent有三个组件:source,channel和sink。source负责获取事件到Flume Agent,而sink负责从Agent移走事件并转发他们到拓扑结构中的下一个agent,或者到HDFS、HBase、Solr等。channel是一个存储source已经接收到的数据的缓冲区,直到sink已经将数据成功写入到下一阶段或者最终目的地。
sourc