使用 Flume NG 实现数据采集平台
admin
2023-08-01 16:23:25
0次

为什么用Flume NG?#

对Flume NG不了解的朋友可以阅读一下这篇文章Flume NG入门详解 。开源的日志采集方案很多:

  • Scribe : 是Facebook开发的数据收集系统,项目不怎么维护。

  • Logstash: 是著名的开源数据栈ELK中的那个L。Logstash使用JRuby开发,运行时依赖JVM。 有比较强大的字段解析和过滤功能,但需要配置grok表达式,对实现数据传输有一定局限性,觉得不方便二次开发。

  • Flume NG: 是Cloudera主导开发,是新一代的数据采集传输工具,构架简单,使用灵活,是hadoop生态中的一部分,核心代码量不大,方便二次开发。

选择什么方案主要根据团队积累和习惯,能解决数据采集问题就好。本文主要讲解使用Flume NG搭建数据采集平台。

数据采集平台需求#

数据采集是大数据平台的重要一环,一边需要对接各种数据源,另一边要考虑离线数据对接和实时流式计算需求。总结一下主要需求点:

  • 支持文件日志数据采集,保证文件记录不丢失

  • 考虑应用升级成本,低成本实现日志数据对接

  • 考虑流式计算需求,建立高速数据通路

  • 能够有一定的扩展性,应对数据量的增长

  • 具有一定容灾考虑,保证数据完整性

  • 能够监控数据的采集,传输过程

Flume NG数据采集平台方案#

使用 Flume NG + Kafka,基本能够实现上述平台需求:

  • Flume 已经实现了各种source,基本能够保证灵活实现各种数据源的对接

  • Flume 可配置成将数据复制成两个数据流,一条直接写入HDFS,一条写入Kafka

  • 通过Kafka对接流式计算和其它数据消费者,从而完成数据源和消费者的解耦

  • Flume支持loadbalance和failover,能够实现水平扩展,保证数据传输完整性

  • Flume 支持http方式获取内部监控指标数据

我们看看使用Flume NG构建数据采集平台的整体架构:

整个方案通过avro rpc做数据的汇集。为什么中间多了 data collection 这层?增加这层起到数据汇集的作用,datasource节点会很多,如果这些点都直接对接持久化层,那配置是比较多的,而且需要做调整时,涉及的机器和权限太多。多加一层可以使前后耦合降低,中间层机器数量不多,对数据写入,文件数量都有一定优化作用。而且需要增加新的数据持久只需修改几个节点配置。

实际使用中有几个点需要注意和优化:

  • channel的选择,考虑性能和稳定性,可以考虑使用SpillableMemoryChannel,兼顾memory channel和file channel的实现,代码量不大,可以验证使用。如果你保守一点就是用file channel。

  • file channel使用磁盘分区最好和应用数据输出分区分开,file channel,进度和数据目录也尽量分开。

  • 配置loadbalance和failover时候,sink不能复用。

  • 如果有能力尽量重新定制hdfs 写入过程,使用约定来减少通用代码逻辑。现有的hdfs sink,考虑到通用性使用了正则等,没有考虑你的数据特点,有一定优化的空间。

  • 增加各个环节 channel,source,sink 的监控,了解整体数据流向和压力,适时考虑扩容等问题。

  • 最好自己能够开发flume ng source 和sink,这样可以根据自己业务数据的特点,做适当的优化。

总结#

Flume NG 是一个很好的数据收集和传输工具,适合二次开发。后面一些实践配置继续给出。



相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...