项目名称 XXX日志采集项目
软件架构:Nginx,Tomcat,Flume,Kafka,Hadoop
项目描述:随着公司业务不断增长,公司越来越重视对数据的利用,决定搭建高可用,高可靠,分布式的海量日志系统,对用户的行为进行分析,以便运营人员查看数据,并根据数据进行相关业务的调整.
责任描述:
1. 参与讨论集群资源规划,技术选型,数据埋点,数据字段的设计.
2. 负责数据采集平台的搭建,实现业务数据仓库的分层搭建.
3. 参与定义Flume拦截器,将日志分类分发到不同的channel中,最终落盘到不同的目录.
项目技术:
1. Nginx与Tomcat配合使用,为Tomcat集群提供反向代理,负载均衡,动静分离等服务.
2. 使用Flume1.7中TailDirSource组件,实现读取一个目录下多个文件日志,并实现了实时读取记录保存的断点续传功能.
3. 通过自定义Flume拦截器,设置不同的header,对Flume采集的数据按照不同的日志类型进行分流.
4. 对存到HFDS上的数据进行压缩,减少IO的传输.
5. 使用Canal实时监控MySQL中的变动的数据,将变动的数据推送到Kafka,使用Spark将数据推进ES中进行保存.
6. 搭建ES集群,安装第三方分词器,实现关键词查询,方便对数据进行检索.
7. 使用Ganglia监控Flume集群,KafkaMonitor监控Kafka集群.