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容器启动)

至此、架构图内容已经全部实现,最后一步:数据可视化--------网站日志流量分析系统之数据可视化展示
三、数据可视化
Scala实现网站流量实时分析的更多相关文章
- 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)
上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...
- 网站日志实时分析工具GoAccess使用
网站日志实时分析工具GoAccess使用 系统环境CentOS release 5.5 (Final) GoAccess是一款开源的网站日志实时分析工具. GoAccess 的工作方式就是读取和解析 ...
- Linux-某电商网站流量劫持案例分析与思考
[前言] 自腾讯与京东建立了战略合作关系之后,笔者网上购物就首选京东了.某天在家里访问京东首页的时候突然吃惊地发现浏览器突然跳到了第三方网站再回到京东,心里第一个反应就是中木马了. 竟然有这样的事,一 ...
- 网站流量统计系统 phpMyVisites
phpMyVisites是一个网站流量统计系统,它能够提供非常详细的统计报告和高级图形报表.phpMyVisites不是一个Apache log分析工具,它建有自己的log.它的特点包括: 安装部署: ...
- cnzz友盟怎么安装网站统计代码监控网站流量
做网站的都知道cnzz统计,它是用来统计网站流量的,可以分析网站数据,进行更好的对网站优化,下面我教大家怎么添加统计代码 工具/原料 cnzz 方法/步骤 打开百度搜索"cnzz友盟&quo ...
- Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测
Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测 2017年12月13日 17:39:11 机器之心V 阅读数:5931 近日,Artur Suilin 等人发布了 Kaggl ...
- 教程 | Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测
https://mp.weixin.qq.com/s/JwRXBNmXBaQM2GK6BDRqMw 选自GitHub 作者:Artur Suilin 机器之心编译 参与:蒋思源.路雪.黄小天 近日,A ...
- 网站流量分析指标-PV/UV/PR/ip分析及区别
1.什么是pv? PV(page view),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标. 高手对pv的解释是,一个访问者在24小时(0点到24点)内到底看了你 ...
- 网站流量统计之PV和UV
转自:http://blog.csdn.NET/webdesman/article/details/4062069 如果您是一个站长,或是一个SEO,您一定对于网站统计系统不会陌生,对于SEO新手来说 ...
随机推荐
- mysql远程链接(可以在服务器上配置然后在本地连接远程服务器)
ps:如果一下的连接不成功原因:一定要关闭windows防火墙或者linux的防火墙 1.在服务器端授权(黄色标记的地方第一个是用户名,第二个的意思是可以远程连接,第三个是密码) GRANT ALL ...
- 虚拟磁盘VHD文件压缩方法
问题描述 因工作需要在Mac上跑了一个VirtualBox虚拟win7,使用对win系统友好的vhd格式作为虚拟硬盘.经过一段时间使用发现vhd占用空间远大于虚拟磁盘使用量,想办法减减肥才行. 步骤整 ...
- Docker+JMeter单机版+MinIO
基于JMeter5.1.1+MinIO JMeter发起压测 MinIO作为文件服务器 一.目录结构: Dockerfile文件: FROM ubuntu:18.04# 基础镜像 MAINTAINE ...
- IDEA 在SVN上更新代码错误: Error:Server SSL certificate rejected
在IDEA中更新代码到SVN中 ,出现了 Error:Server SSL certificate rejected ---服务器的SSL证书 的错误 之前在网上有找过一些相关的做法,但是 ...
- 08 部署nginx web服务器(转发fastDFS请求)
先准备两个文件: fastdfs-nginx-module-master.tar.gz:fastDFS nginx安装包 nginx-1.17.3.tar.gz:nginx安装包 注:这两个包文件要匹 ...
- mysql 1130 Navicat for MySQL 连接MySQL 8.0 出现1130错误
可能是帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑登入MySQL后,更改"MySQL"数据库"user"表里的&q ...
- Django 基本使用及目录结构
1.安装 pip3 install django 默认为最新版 2.创建Django项目 在即将创建的Django项目,目录下运行命令 1.django-admin startproject my_p ...
- 剑指offer 面试题56. 数组中只出现一次的两个数字
题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 方法1:用set记录出现过的数字 class Solution { public: void F ...
- SpringBoot整合WEB开发--(二)静态资源访问
1.默认策略: 静态资源的位置一共5个,开发者可以将静态资源放到其中任意一个,分别是: "classpath:/META-INF/resources/", "classp ...
- jsonp实现js跨域请求
sonp是跨域通信的一个协议 具体来说jsonp实现跨域请求其实是使用js文件引用(js文件不一定是.js结尾)可跨域的性质,将请求的结果包裹在客户端需要调用的js方法内部.需要前后端配合使用. 前段 ...