分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

02.网站点击流数据分析项目_模块开发_数据采集

发布时间:2023-09-06 02:04责任编辑:赖小花关键词:暂无标签

3 模块开发——数据采集

3.1 需求

  数据采集的需求广义上来说分为两大部分。

  1)是在页面采集用户的访问行为,具体开发工作:

    1、开发页面埋点js,采集用户访问行为

    2、后台接受页面js请求记录日志

  此部分工作也可以归属为“数据源”,其开发工作通常由web开发团队负责

  2)是从web服务器上汇聚日志到HDFS,是数据分析系统的数据采集,此部分工作由数据分析平台建设团队负责,

具体的技术实现有很多方式:

    Shell脚本:优点:轻量级,开发简单;缺点:对日志采集过程中的容错处理不便控制

    Java采集程序:优点:可对采集过程实现精细控制;缺点:开发工作量大

    Flume日志采集框架:成熟的开源日志采集系统,且本身就是hadoop生态体系中的一员,与hadoop体系中的

各种框架组件具有天生的亲和力,可扩展性强

 3.2 Flume日志采集系统搭建:

  1、数据源信息:本项目分析的数据用服务器所生成的流量日志:/data/flumedata/access.log

  2、数据内容样例:

58.215.204.118 - - [18/Sep/2013:06:51:35 +0000] "GET /wp-includes/js/jquery/jquery.js?ver=1.10.2 HTTP/1.1" 304 0 
"http://blog.fens.me/nodejs-socketio-chat/" "Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0"字段解析:1、访客ip地址: ??58.215.204.1182、访客用户信息: ?- -3、请求时间:[18/Sep/2013:06:51:35 +0000]4、请求方式:GET5、请求的url:/wp-includes/js/jquery/jquery.js?ver=1.10.26、请求所用协议:HTTP/1.17、响应码:3048、返回的数据流量:09、访客的来源url:http://blog.fens.me/nodejs-socketio-chat/10、访客所用浏览器:Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0

   3、Flume采集实现:配置采集方案:

# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1# Describe/configure the source#a1.sources.r1.type = exec#a1.sources.r1.command = tail -F /home/hadoop/log/test.log ??用tail命令获取数据,下沉到hdfs#a1.sources.r1.channels = c1# Describe/configure the sourcea1.sources.r1.type = spooldira1.sources.r1.spoolDir = /data/flumedata ??采集目录到HDFSa1.sources.r1.fileHeader = false# Describe the sinka1.sinks.k1.type = hdfsa1.sinks.k1.channel = c1a1.sinks.k1.hdfs.path = /fensiweblog/events/%y-%m-%d/a1.sinks.k1.hdfs.filePrefix = events-a1.sinks.k1.hdfs.round = truea1.sinks.k1.hdfs.roundValue = 10a1.sinks.k1.hdfs.roundUnit = minute#指定下沉文件按30分钟滚动a1.sinks.k1.hdfs.rollInterval = 30a1.sinks.k1.hdfs.rollSize = 1024#指定下沉文件按1000000条数滚动a1.sinks.k1.hdfs.rollCount = 10000a1.sinks.k1.hdfs.batchSize = 1a1.sinks.k1.hdfs.useLocalTimeStamp = true#生成的文件类型,默认是Sequencefile,可用DataStream,则为普通文本a1.sinks.k1.hdfs.fileType = DataStream# Use a channel which buffers events in memorya1.channels.c1.type = memorya1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100# Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1

   如果向目录/data/flumedata中放入文件,就会将文件下沉到HDFS中;

   启动Flume的Agent: bin/flume-ng agent -c conf -f conf/fensi.conf -n a1 -Dflume.root.logger=INFO,console

   

  

注意:启动命令中的 -n 参数要给配置文件中配置的agent名称

02.网站点击流数据分析项目_模块开发_数据采集

原文地址:https://www.cnblogs.com/yaboya/p/9329361.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved