内部数据收集

Apache Flume

Flume的核心模块有三个:源头(Source):负责接收数据的模块,它定义了数据的源头,从源头收集数据,传递给通道。源头还可用于接收其他Flume代理的沉淀器传输过来的数据。沉淀器(Sink):批量地从通道读取并移除数据,并将所读取的内容存储到指定的位置。通道(Channel):作为一个管道或队列,连接源头和沉淀器。通过这几个模块,形成了如下重要概念:代理(Agent):Flume运行在服务器上的程序,是最小的运行单位。每台机器只会运行一个代理,其中可包含多个源头和沉淀器。事件(Event):Flume的数据流由事件贯穿始终,是应用逻辑上的基本处理单元,如当Flume处理网站日志记录的收集时,事件可以是一条日志记录,它携带日志数据和头信息。代理中的源头会生成这些事件,进行特定的格式化,然后将事件推入若干通道中。你可以将通道看作一个缓冲区,它将保存事件直到沉淀器处理完该事件为止。沉淀器负责持久化日志或将事件推向另一个源头,这也表明Flume的数据流传输是可以嵌套的,经过多级的传递和预处理。


image.png

参考资料

《开发自己的搜索引擎——Lucene+Heritrix(第2版)》作者:邱哲,符滔滔,王学松本书对介绍了如何使用Heritrix构建自己的爬虫系统,同时对于Lucene的索引和查询进行了阐述。
《解密搜索引擎技术实战:Lucene&Java精华版(第2版)》作者:罗刚等本书更深入一步探讨了如何通过编程来打造一个爬虫系统,比较适合程序员老手,也包含了Lucene和Solr系统的介绍。
《Flume:构建高可用、可扩展的海量日志采集系统》作者:Hari Shreedharan译者:马延辉,史东杰如果需要深入了解Flume的细节,那么这本书会是一个不错的选择。作者是Flume的开发者之一,本书对Flume架构、配置和部署都有详细的阐述。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。