日志数据采集与大数据存储方案实践

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 互联网及企业客户业务系统有大量的埋点日志数据实时生成,这些日志数据往往需要长期保存并有离线计算或者实时计算的需求。本文为您介绍日志数据采集与大数据存储实践方案。

互联网及企业客户业务系统有大量的埋点日志数据实时生成,这些日志数据往往需要长期保存并有离线计算或者实时计算的需求。本文为您介绍日志数据采集与大数据存储实践方案。

背景

一些客户会选择将日志数据存储在自建的HDFS中,使用flume、kafka等中间件作为数据通道进行采集传输,由spark等大数据引擎做进一步的加工处理,然后与一些BI系统集成做分析展示。很多用户在使用这套架构过程中面临显著的痛点。

  • 日志数据分散,无法形成具备实时查询、离线分析、统一监控告警的日志中枢平台。

  • 当hadoop集群较大时,文件量级达到数亿以上时,namenode 性能会成为一个潜在的瓶颈点。

  • HDFS往往采用3副本的方式创建,存储空间利用率低。

  • 80%左右的数据为温冷数据,HDFS集群缺少自动化的冷热分层机制

  • 容灾备份困难,一但集群挂掉意味着数据全部丢失。如果构建数据容灾集群,需要在另一个机房搭建同样的一套hadoop集群。

  • Hadoop架构迭代难,兼容性很差,业务低谷时计算资源利用率低,缺少弹性,需要进行村算分离改造。

优化步骤1:存算分离改造,数据写入OSS数据湖(兼容原有自建flume、kafka等)

兼容原有自建flume、kafka架构,可以通过flume将数据写入OSS,以OSS数据湖为存储核心,实现存算分离。阿里云OSS支持原生的OSS-HDFS接口,通过OSS-HDFS服务,无需对现有的Hadoop、Spark大数据分析应用做任何修改即可实原生的HDFS协议兼容。OSS对象存储作为大数据存算分离方案的核心存储方案,在元数据操作管理能力上深度优化,为大数据场景提供海量数据的存储管理能力、超高的吞吐带宽性能,解决用户自建HDFS存储的扩展性瓶颈和管理难题。

OSS支持多种数据源的写入,也可以和阿里云EMR Jindo FS SDK集成来对接中间件的数据接入。OSS存储支持海量的数据存储,高达Tbps级别的吞吐能力,可以避免HDFS的Namenode性能瓶颈问题。此架构优势如下:

  • 高可靠 OSS可以提供高达12个9的数据可靠性,保障数据不丢不坏,通过开通多版本和跨区域复制,可以进一步实现数据的备份和容灾。

  • 兼容性原生HDFS OSS支持原生的OSS-HDFS接口,用户无需改造即可实原生的HDFS协议兼容,OSS可以无缝对接客户自建开源的 spark、hive 等引擎。

  • 成本节约 OSS采用了纠删码机制,相比自建HDFS可以实现大幅的成本节约。OSS的生命周期管理策略,可以将用户访问不频繁数据转入低频存储,将需要长期保存的冷数据自动转入归档类型存储。

  • 完善的生命周期管理 OSS通过生命周期策略实现数据冷热分层,整体存储成本大幅降低。并且JindoFS与OSS生命周期进行了集成,在Hadoop端即可以进行存储类型指定以及冷数据解冻。

日志采集

数据写入及数据迁移工具支持--EMR JindoFS

JindoFS SDK是一个简单易用面向Hadoop/Spark生态的OSS客户端,为阿里云OSS提供高度优化的Hadoop FileSystem,提升了用户的现有架构软件版本的兼容性。 Jindo DistCp(分布式文件拷贝工具)是用于大规模集群内部和集群之间拷贝文件的工具, 它使用MapReduce实现文件分发,错误处理和恢复,支持hdfs->OSS,hdfs->hdfs,OSS->hdfs,OSS->OSS的数据拷贝场景,提供多种个性化拷贝参数和策略。重点优化了hdfs到OSS的数据拷贝,通过定制化CopyCommitter,实现No-Rename拷贝,提高数据copy性能并保证数据拷贝落地的一致性。 Jindo DistCp vs Hadoop DistCp 性能测试对于table 类型数仓数据,可以使用阿里云专为迁移数仓数据而设计的MoveTo 工具。MoveTo底层调用了jindo distcp,当拷贝成功后自动更新 Metastore 元数据,实现完整的迁移过程。对于分区表,该工具支持分区过滤表达式,可实现大量分区的同时拷贝,支持设置存储类型、覆盖写等选项,满足多种需求。Jindo SDK与OSS无缝兼容,可以在竞争中带来技术差异化上的补充。

优化步骤2:使用日志服务SLS进行数据采集及投递OSS

对于日志数据的采集、处理和分析的场景,阿里云日志服务(SLS)是一款性能优越、易用性强,并且具有较低成本的产品,使用日志服务SLS替代flume作为数据管道以及通过日志服务进行数据加工清洗的方案具有诸多优势。

  • SLS支持包括服务器与应用、开源软件、物联网、移动端、标准协议、阿里云产品等多种来源在内的可观测数据(Log/Metric/Trace)的统一采集存储。支持40+成熟接入方案,支持包括服务器与应用、开源软件、物联网、移动端、标准协议、阿里云产品等在内的多端采集。

  • 使用日志服务替代用户自建ES,可以形成统一的日志采集、分析、计算的日志统一中枢平台。日志服务采集数据后可以直接进行实时的查询、BI、数据加工、报表等,日志服务提供了成熟完善的AIOPS方案,帮助用户打造智能运维平台。

  • 在实时计算场景日志服务可以对接实时计算引擎进行消费

  • 离线计算场景日志服务可以将数据投递到OSS,通过OSS-HDFS原生HDFS协议打通离线计算生态体系。日志服务数据采集

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
8天前
|
SQL 分布式计算 运维
如何对付一个耗时6h+的ODPS任务:慢节点优化实践
本文描述了大数据处理任务(特别是涉及大量JOIN操作的任务)中遇到的性能瓶颈问题及其优化过程。
|
22天前
|
存储 监控 数据库
Django 后端架构开发:高效日志规范与实践
Django 后端架构开发:高效日志规范与实践
34 1
|
15天前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
49 9
|
14天前
|
存储 分布式计算 资源调度
通过日志聚合将作业日志存储在HDFS中
如何通过配置Hadoop的日志聚合功能,将作业日志存储在HDFS中以实现长期保留,并详细说明了相关配置参数和访问日志的方法。
15 0
通过日志聚合将作业日志存储在HDFS中
|
26天前
|
存储 安全 Linux
在Linux中,日志文件通常存储在哪些目录?
在Linux中,日志文件通常存储在哪些目录?
|
24天前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
24天前
|
人工智能 分布式计算 架构师
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
大数据及AI典型场景实践问题之基于MaxCompute构建Noxmobi全球化精准营销系统如何解决
|
1月前
|
存储 缓存 NoSQL
深入解析Memcached:内部机制、存储结构及在大数据中的应用
深入解析Memcached:内部机制、存储结构及在大数据中的应用
|
17天前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
51 0
|
24天前
|
存储 关系型数据库 MySQL
深入MySQL:事务日志redo log详解与实践
【8月更文挑战第24天】在MySQL的InnoDB存储引擎中,为确保事务的持久性和数据一致性,采用了redo log(重做日志)机制。redo log记录了所有数据修改,在系统崩溃后可通过它恢复未完成的事务。它由内存中的redo log buffer和磁盘上的redo log file组成。事务修改先写入buffer,再异步刷新至磁盘,最后提交事务。若系统崩溃,InnoDB通过redo log重放已提交事务并利用undo log回滚未提交事务,确保数据完整。理解redo log工作流程有助于优化数据库性能和确保数据安全。
89 0