一种海量日志存储、分析解决方案V1.0
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本方案试运行中,待观测其性能、稳定性及健壮性,请勿直接应用生产。 涉及的技术栈。 hadoop,版本2.6.0,主要用来存储数据及进行离线分析。 hive,版本1.2.1,主要用来管理数据(注意没有用到MR分析); hbase,版本1.2.4,主要用来存储中间输出数据(可看作缓存); flume,版本1.7.0,主要用来从业务系统收集数据以及从jms收集数据。 kafka,版本0.10.1.0,主要用来收集业务系统日志数据和汇总日志数据。 spark,版本2.0.1,主要用来取代hive的MR分析,并针对基础数据进行数据筛选分析等(可看作离线数据分析引擎)。 redis,版本3.0.6,主要用来缓存分析中的增量数据,设定当天数据时效为36小时,每天同步一次昨天的增量日志数据到全量数据库中。 storm,版本0.10.2,主要用来日志实时分析,如用户画像实时更新,PV统计等。 mongodb,版本3.2.10,主要用来存储终态数据,如用户画像、PV值等供业务系统使用。 ganglia,版本3.2.0,主要用来监控各节点状态。 其它如haproxy、nginx等辅助ha工具这里不再赘述。 首先看一张架构图。 根据架构图设计出网络拓扑图 最后是流程图 以下是数据流向说明: 1、业务系统收集日志数据 2