Scala實現網站流量實時分析


  之前已經完成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容器啟動)

  至此、架構圖內容已經全部實現,最后一步:數據可視化--------網站日志流量分析系統之數據可視化展示

三、數據可視化

  網站日志流量分析系統之數據可視化展示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM