作者Tony Siciliani 本文为36大数据独译,译者:随风
我们在建设一个大数据管道时,需要在Hadoop生态系统前仔细考虑,如何获取大体量、多样化以及高速性的数据。在决定采用何种工具以满足我们的需求时,最初对于扩展性、可靠性、容错性以及成本的考虑便发挥了作用。本文,我们将聚焦于三种Apache获取工具:Flume, Kafka, and NiFi。这三种工具在横向比较中都展示出了良好的性能,同时还提供了一种插件体系结构,在这种结构中可通过定制组件来使功能得到扩展。
Apache Flume
一个Flume部署包括一个或多个配置有拓扑结构的agent。Flume Agent是一个JVM进程用来控制Flume拓扑结构的基本构件,其中包括source, channel 和sink。Flume客户先把event传送到source,source再把这些events成批放置到一个叫做channel的暂时缓冲区,然后数据从此流向连接数据终端的sink。一个sink也可以是其它Flume agents的后续数据资源。Agent之间可以被连接,并且含有多个source,channel和sink。