之前已經完成zookeeper集群、Hadoop集群、HBase集群、Flume、Kafka集群、Spark集群的搭建:使用Docker搭建Spark集群(用於實現網站流量實時分析模塊),且離線分析模塊已經在之前的模塊中實現(網站日志流量分析系統之數據清洗處理(離線分析)),這次基於Docker搭建的spark集群,本地編寫Scala代碼實現網站日志流量實時分析模塊,最終提交於spark集群。
一、本機環境
系統:win10 64位
Scala版本:2.13
JDK版本:1.8
IDE工具:IDEA2018
Maven版本:3.6.1
二、實時分析模塊實現
之前已經完成zookeeper集群、Hadoop集群、HBase集群、Flume、Kafka集群、Spark集群的搭建:使用Docker搭建Spark集群(用於實現網站流量實時分析模塊),且離線分析模塊已經在之前的模塊中實現(網站日志流量分析系統之數據清洗處理(離線分析)),這次基於Docker搭建的spark集群,本地編寫Scala代碼實現網站日志流量實時分析模塊,最終提交於spark集群。
一、本機環境
系統:win10 64位
Scala版本:2.13
JDK版本:1.8
IDE工具:IDEA2018
Maven版本:3.6.1
二、目前狀況
基於之前搭建的Spark集群:使用Docker搭建Spark集群(用於實現網站流量實時分析模塊),目前集群運行環境如下:
1、hadoop0、hadoop1、hadoop2容器角色
2、spark0、spark1、spark2容器
3、測試
app應用服務器通過js采集用戶信息,發送至日志服務器,日志服務器分發至flume,flume分別落地至HDFS與Kafka,Kafka目前是以console模式消費消息,並未與spark對接
flume寫入kafka的同時也落地至HDFS,供以離線分析
二、實時分析模塊實現
以上部分,數據已經寫入kafka,只需spark消費其中數據,進行清洗,落地至Mysql即可,最終以echarts展現
代碼地址:https://github.com/Simple-Coder/log-demo
1、Maven代碼
2、實現效果
用戶通過點擊頁面,JS代碼采集信息,發送至日志服務器,日志服務器轉而發送至Flume,Flume分別落地HDFS(離線分析)與Kafka(實時分析),SparkStreaming消費Kafka消息,對數據進行清洗,HBase用於存放中間數據,最終落地至Mysql(基於Docker容器啟動)
至此、架構圖內容已經全部實現,最后一步:數據可視化--------網站日志流量分析系統之數據可視化展示