转眼新的一年又快要来了,趁着这段时间总结下这一年的工做经验,避免重复踩坑。MOB数据采集平台升级也快经历了半年时间,目前重构后线上运行稳定,在这过程当中挖过坑,填过坑,为后续业务的实时计算需求打下了很好的基础。缓存
上图为旧有架构,主要服务于Hadoop2.x离线计算(T+1)以及Spark的实时计算(T+0),但在数据采集、数据流动、做业调度以及平台监控等几个环节存在的一些问题和不足。网络
数据采集:架构
平台监控:分布式
针对以上问题,结合在大数据中,数据的时效性越高,数据越有价值的理念,所以,开始大重构数据采集平台架构。oop
这张图是升级后的数据采集架构图,从图中能够了解到大数据采集过程以及数据走向:数据源,数据缓存,存储计算等环节。
将原来数据采集与数据计算架构进行聚合解耦,节省了服务资源,增强了数据采集的数据流的监管,对文件传输及数据完整性监控都有所补充,有利于后期离线或实时运算的可插拔接入。大数据
数据传输上,将Flume Memory channel改成Kafka channel,能够缓存数据的同时,弥补日志高峰期,原来Memory channel队列不够的问题,减小重启Flume带来的数据丢失问题优化
- 文件传输监控 Flume: 定制的zabbix监控,在flume里添加了zabbix监控模块 Kafka: 经过监控kafka consumer消费状态,当Lag达到必定值时,进行告警
根据业务场景作节点参数调优spa
一个健壮强大的分布式日志采集系统无疑是整个大数据业务的重要枢纽,在实践中的一些关键的设计和思想,但愿能抛砖引玉,在将来之路越走越好。架构设计