基于hadoop+spark的大规模日志的一种处理方案

news/2024/12/22 15:05:23/

概述:

      CDN服务平台上有为客户提供访问日志下载的功能,主要是为了满足在给CDN客户提供服务的过程中,要对所有的记录访问日志,按照客户定制的格式化需求以小时为粒度(或者其他任意时间粒度)进行排序、压缩、打包,供客户进行下载,以便进行后续的核对和分析的诉求。而且CDN上的访问日志一般都非常大,需要用大数据处理架构来进行处理,本文描述了一种利用hadoop+spark来处理大量CDN日志的方法,当然本方案不局限于CDN日志处理,完全可以应用到其他日志处理的应用需求上面。

        本方案是一种对大数据量的日志进行打包处理的优化方法。首先,可以充分利用HDFS+SPARK大数据系统的分布式处理能力,让整个系统尽可能地连续进行工作,来处理实时上传上来的大量应用服务日志,而不至于因为业务规定的打包粒度的要求而等到一个相对较大的时间粒度(譬如1小时或者1天)的开始之后才能对日志进行处理,从而大幅度提升的日志处理的及时性和处理的效率;其次,采用本方案的方法,因为采用了比业务需求规定的更细的粒度对日志文件进行处理,一旦发现某个时间点的日志处理有问题,可以精确定位到那个时间点(1分钟级)的文件,进行细粒度追溯和回滚处理,避免在大粒度上面进行处理,大幅度减少了需要追溯或回滚的数据的处理量,提升了系统的可维护性;最后,利用HDFS+SPARK大数据系统处理平台的弹性架构,能够为整个日志处理系统提供长期的弹性扩容能力,满足未来长期运行的需求。

实现说明:

以下对具体实现方式进行说明。

首先,先描述一下整个日志打包系统的部署架构,如下图:

  1. 图的左侧,多个应用服务器在应用服务系统运行的过程中,在不断的产生各种日志,通过一些实时采集工具将应用服务器的日志发送到异步队列kafka 中(这个环节的内容不是本方案的重点)。
  2. 图的中间,HDFS+SPARK集群进行分布式运算,来进行日志文件的格式化、排序、压缩、打包操作,最终生成打包好的分片(譬如以1分钟为粒度)日志文件存储到HDFS的指定目录中。
  3. 图的右侧,日志下载网关为查看和下载日志的用户提供虚拟视图,按照业务所要求的更大的时间粒度(譬如1小时或者1天粒度)提供日志的查看和下载。

下面,对HDFS+SPARK集群进行日志的处理过程进行详细描述

        由于存在众多的应用服务器&#x


http://www.ppmy.cn/news/1346698.html

相关文章

突破编程_C++_基础教程(指针)

1 指针的基础概念 指针是 C 的核心之一,使用 C 语言构建的程序之所以性能强悍,有很大部分原因是体现在使用指针直接操作内存。当然这样的工具是一把双刃剑,错误的指针操作可能会导致程序崩溃或者数据损坏。 指针主要有四个方面的用途&#x…

又一款图像AI应用爆火,团队仅两人,单月吸引40万用户

又一款AI原生应用火了。近日,AI图像增强应用Magnific AI广受追捧,该应用在发布一个多月之后吸引了40万注册用户。 Magnific AI不仅可以用生成式AI技术放大图像,还能一键提升图像的分辨率,把原图呈现的更清晰,更有质感…

洛谷:P1219 [USACO1.5] 八皇后 Checker Challenge(dfs深度优先遍历求解)

题目描述 一个如下的 6666 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列 2 4 6 1 3 52 4 6 1 3 5 来描述&am…

LeetCode LCP 30.魔塔游戏:贪心(优先队列)

【LetMeFly】LCP 30.魔塔游戏:贪心(优先队列) 力扣题目链接:https://leetcode.cn/problems/p0NxJO/ 小扣当前位于魔塔游戏第一层,共有 N 个房间,编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于…

用友U8+OA doUpload.jsp 文件上传漏洞复现

0x01 产品简介 用友U8+ OA经过20多年的市场锤炼,不断贴近客户需求,以全新UAP为平台,应对中型及成长型企业客户群的发展,提供的是一整套企业级数智化升级解决方案,为成长型企业构建精细管理、产业链协同、社交化运营为一体的企业互联网经营管理平台,助力企业应势而变,赢…

Python(21)正则表达式中的“元字符”

大家好!我是码银🥰 欢迎关注🥰: CSDN:码银 公众号:码银学编程 获取资源:公众号回复“python资料” 在本篇文章中介绍的是正则表达式中一部分具有特殊意义的专用字符,也叫做“元…

重写Sylar基于协程的服务器(7、TcpServer HttpServer的设计与实现)

重写Sylar基于协程的服务器(7、TcpServer & HttpServer的设计与实现) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务…

两次NAT

两次NAT即Twice NAT,指源IP和目的IP同时转换,该技术应用于内部网络主机地址与外部网络上主机地址重叠的情况。 如图所示,两次NAT转换的过程如下: 内网Host A要访问地址重叠的外部网络Host B,Host A向位于外部网络的DNS服务器发送…