大数据学习——点击流日志每天都10T,在业务应用服务器上,需要准实时上传至(Hadoop HDFS)上

点击流日志每天都10T,在业务应用服务器上,需要准实时上传至(Hadoop HDFS)上

1需求说明

点击流日志每天都10T,在业务应用服务器上,需要准实时上传至(Hadoop HDFS)上

2需求分析

一般上传文件都是在凌晨24点操作,由于很多种类的业务数据都要在晚上进行传输,为了减轻服务器的压力,避开高峰期

如果需要伪实时的上传,则采用定时上传的方式

3技术分析

HDFS SHELL:  hadoop fs  –put   xxxx.log  /data    还可以使用 Java Api

满足上传一个文件,不能满足定时、周期性传入。

定时调度器

Linux crontab

crontab -e

*/5 * * * * $home/bin/command.sh   //五分钟执行一次

系统会自动执行脚本,每5分钟一次,执行时判断文件是否符合上传规则,符合则上传

4实现流程

4.1日志产生程序

日志产生程序将日志生成后,产生一个一个的文件,使用滚动模式创建文件名。

日志生成的逻辑由业务系统决定,比如在log4j配置文件中配置生成规则,如:当xxxx.log 等于10G时,滚动生成新日志

 log4j.logger.msg=info,msg

log4j.appender.msg=cn.maoxiangyi.MyRollingFileAppender

log4j.appender.msg.layout=org.apache.log4j.PatternLayout

log4j.appender.msg.layout.ConversionPattern=%m%n

log4j.appender.msg.datePattern=‘.‘yyyy-MM-dd

log4j.appender.msg.Threshold=info

log4j.appender.msg.append=true

log4j.appender.msg.encoding=UTF-8

log4j.appender.msg.MaxBackupIndex=100

log4j.appender.msg.MaxFileSize=10GB

log4j.appender.msg.File=/home/hadoop/logs/log/access.log

细节:

1、  如果日志文件后缀是1\2\3等数字,该文件满足需求可以上传的话。把该文件移动到准备上传的工作区间。

2、  工作区间有文件之后,可以使用hadoop put命令将文件上传。

阶段问题:

1、  待上传文件的工作区间的文件,在上传完成之后,是否需要删除掉。

4.2伪代码

使用ls命令读取指定路径下的所有文件信息,

ls  | while read  line

//判断line这个文件名称是否符合规则

if       line=access.log.* (

将文件移动到待上传的工作区间

)

//批量上传工作区间的文件

hadoop fs  –put   xxx

脚本写完之后,配置linux定时任务,每5分钟运行一次。

5代码实现

代码第一版本,实现基本的上传功能和定时调度功能

代码第二版本:增强版V2(基本能用,还是不够健全)

6效果展示及操作步骤

1、日志收集文件收集数据,并将数据保存起来,效果如下:

2、上传程序通过crontab定时调度

3、程序运行时产生的临时文件

4、Hadoo hdfs上的效果

原文地址:https://www.cnblogs.com/feifeicui/p/10217090.html

时间: 2024-10-04 06:08:00

大数据学习——点击流日志每天都10T,在业务应用服务器上,需要准实时上传至(Hadoop HDFS)上的相关文章

点击流日志分析

课程介绍 课程名称: 1.什么是点击流系统?记录用户在网站上的操作,用户行为轨迹. 2.日志有哪些需要注意的地方,如何采集日志(flume),日志格式,日志包含的信息量(字段) 3.分析什么? 网址来源,TOPK 客户端流量占比 Android.IOS...... 网页热力图 课程目标: 1. 掌握点击流系统的架构及工作原理 2. 掌握点击点击流中常见的字段及其业务含义 3. 掌握点击流分析系统开发 课程大纲: 1. 背景知识 2. 需求分析 3. 架构设计 4. Storm程序开发 5. 同步

大数据学习总结(8)大数据场景

大数据场景一.各种标签查询 查询要素:人.事.物.单位 查询范围:A范围.B范围.... 查询结果:pic.name.data from 1.痛点:对所有文本皆有实时查询需求2.难点:传统SQL使用WHERE子句匹配LIKE关键词,在庞大的数据字段中搜索某些想要的字,需遍历所有数据页或者索引页,查询效率底,当出现千万级以上数据时,耗时较高,无法满足实时要求3.方案:使用全文检索方案,分布式架构,即使PB级量级也可做到毫秒级查询 大数据场景二.客户事件查询 查询条件:城市.区域.时间跨度(2017

大数据学习总结(7)we should...

大数据场景一.各种标签查询 查询要素:人.事.物.单位 查询范围:A范围.B范围.... 查询结果:pic.name.data from 1.痛点:对所有文本皆有实时查询需求2.难点:传统SQL使用WHERE子句匹配LIKE关键词,在庞大的数据字段中搜索某些想要的字,需遍历所有数据页或者索引页,查询效率底,当出现千万级以上数据时,耗时较高,无法满足实时要求3.方案:使用全文检索方案,分布式架构,即使PB级量级也可做到毫秒级查询 大数据场景二.客户事件查询 查询条件:城市.区域.时间跨度(2017

史上最全“大数据”学习资源整理

史上最全"大数据"学习资源整理 当前,整个互联网正在从IT时代向DT时代演进,大数据技术也正在助力企业和公众敲开DT世界大门.当今"大数据"一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术发展进入了一个新的时代,代表着爆炸性的数据信息给传统的计算技术和信息技术带来的技术挑战和困难,代表着大数据处理所需的新的技术和方法,也代表着大数据分析和应用所带来的新发明.新服务和新的发展机遇. 为了帮助大家更好深入了解大数据,云栖社区组织翻译了GitHub Aweso

大数据学习之小白如何学大数据?(详细篇)

大数据这个话题热度一直高居不下,不仅是国家政策的扶持,也是科技顺应时代的发展.想要学习大数据,我们该怎么做呢?大数据学习路线是什么?先带大家了解一下大数据的特征以及发展方向. 大数据的三个发展方向,平台搭建/优化/运维/监控.大数据开发/设计/架构.数据分析/挖掘. 先说一下大数据的4V特征: 数据量大,TB->PB 数据类型繁多,结构化.非结构化文本.日志.视频.图片.地理位置等; 商业价值高,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来; 处理时效性高,海量数据的处

2019大数据学习方向【最新分享】

一.大数据运维之Linux基础打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,openstack等.因为企业中的项目基本上都是使用Linux环境下搭建或部署的. 1)Linux系统概述2)系统安装及相关配置?3)Linux网络基础?4)OpenSSH实现网络安全连接?5)vi文本编辑器 6)用户和用户组管理7)磁盘管理?8)Linux文件和目录管理?9)Linux终端常用命令?10)linux系统监测与维护 二.大数据开发核心技术 -

揭秘java大数据学习路线图

很多的同学在学习JavaEE的路上都过得的是坎坷,可以说是夜以继日的敲代码在学习,却发现自己是事倍功半,有的时候遇到一个bug真的很难受,无限互联java大数据培训专家为大家整理了一篇很值得大家去借鉴的学习路线图文章,希望大家在学习的路上一能帆风顺! 一.Java的核心 这就是学习Java的基础,掌握程度的深与浅甚至直接影响后面的整个学习进程. Java的核心主要包括了几个部分: 一. java大数据学习路线图 1.初级的有语法基础.面向对象思想. 学习任何一门语言语法都是必须的,因为Java的

大数据学习方向,从入门到精通

推荐一个大数据学习群 119599574晚上20:10都有一节[免费的]大数据直播课程,专注大数据分析方法,大数据编程,大数据仓库,大数据案例,人工智能,数据挖掘都是纯干货分享,你愿意来学习吗 很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么? 所有萌生入行的想法与想要学习Java的同学的初衷是一样的.岗位非常火,就业薪资比较高,,前景非常可观.基本都是这个原因而向往大数据,但是对大数据却不甚了解. 如果你想学习,那么首先你需要学会编

2018大数据学习路线从入门到精通

最近很多人问小编现在学习大数据这么多,他们都是如何学习的呢.很多初学者在萌生向大数据方向发展的想法之后,不免产生一些疑问,应该怎样入门?应该学习哪些技术?学习路线又是什么?今天小编特意为大家整理了一份大数据从入门到精通的学习路线.并且附带学习资料和视频.希望能够帮助到大家.大数据学习资料分享群:119599574 第一阶段:Linux理论 (1)Linux基础:(2)Linux-shell编程:(3)高并发:lvs负载均衡:(4)高可用&反向代理 第二阶段:Hadoop理论 (1)hadoop-