【南京Meetup】不断迭代,严苛细节,最终性能如何满足? 基于ELK的大数据平台实践分享

简介: 在2018年Elastic Meetup 南京交流会中,来自云利来科技的涂海波为现场的听众带来了题为《南京云利来基于ELK的大数据平台》的精彩分享。在本次分享中,他首先进行了公司简介,然后介绍了数据分类,包括数据采集及数据类型等;然后重点阐述了运维之路,最后进行了告警分析。

在2018年Elastic Meetup 南京交流会中,来自云利来科技的涂海波为现场的听众带来了题为《南京云利来基于ELK的大数据平台》的精彩分享。在本次分享中,他首先进行了公司简介,然后介绍了数据分类,包括数据采集及数据类型等;然后重点阐述了运维之路,最后进行了告警分析。
阿里云Elasticsearch 1核2G首月免费试用,开始云上实践吧
直播视频请点击
PPT下载请点击
以下内容根据现场分享整理而成。

南京云利来有限公司主要专注于以下三个方面:实时网络使用分析,具备世界领先20Gbps分析能力;为数据中心搭建大数据分析平台,数据中心主要是给运维团队、安全团队和开发团队做跨部门协作;提供智能运维、网络安全和预警分析能力。产品主要应用的行业包括电商、政府、证券等。

数据分类

数据采集

数据采集主要分为网络类和日志类。网络类主要为旁路部署,用小盒子部署在机房内不同的点,包括出口入口。日志类主要包括Nagios (filebeat)和Zabbix (mysqlexporter)。

数据类型

_1

上图为主要数据类型,网络协议里也有数据库,是一些协议解析,还有一些交易的解析。可以从网络层面和日志层面分开来比对。

数据量

每天数据量至少2TB,记录数22亿,不含副本;高峰数据量每秒6万条记录;单个索引最快处理12万条记录每秒。

使用场景

主要有三个使用场景:查询聚合;大屏分析,预测告警;网络指标,业务指标安全指标。
网络业务安全是基于一些不同的团队,定制个性化的指标,进行一些对比分析。

运维之路

集群演变

在使用ELK的整个过程中,我们使用过Vmware、Docker,跟美国的第三方公司的一些合作。我们自己用的最多的是单节点单实例和单节点双实例。基本是用于功能测试小公司一些测试部署。

冷热分离

我们做的冷热分离,开始采用的是flashcache模式,每台物理机上面都配备了一个SSD的小盘,主要是为了抵消传统的机械式硬盘寻到的一个LPS。LPS比较慢,延迟比较高,所以分布式集群每一块都配备一个小盘。在这种模式下,磁盘IO连续小块读,负载高,IOwait高,分析发现存在抖动。采用单机双实例冷热分离模式,充分利用1.6TB的SSD,只保存每天的热数据,隔夜迁移到HDD Raid0。
升级的主要目的有两个:内存隔离,当天和历史JAVA对象分离在不同的JVM里;IO隔离,当天和历史数据的磁盘IO分离在不同的磁盘上。

_2

上图为运维前后对比效果图。左边是运维之前,右边是运维之后。升级后,有效减少了cpu wait和磁盘读,降低了系统负载,有效提升了查询和写入性能。

_3

上图为在单个索引上做的测试。之前做了许多积压,可以发现索引的速度是上升的。单个索引最高速度从之前的60000条每秒提升到120000条记录每秒,平均10万条每秒。聚合查询性能提升1倍。

重要选型

重要选型首先从cpu介绍,我们推荐使用Xeon E5-2600 V4系列。官方测试显示,它比V3系列提升JAVA性能60%,我们进行了一些设置,包括指令预取,cache line预取,Numa Set。结合双路cpu,它的内存和节点有一个就近读取的原则。我们根据单个机器的实例进行cpu的绑定。设置以后可以提高cpu的命中率,减少内存的切换。
在内存方面,每台物理机配备的是128TB,SSD是1.6TB,HDD是40TB~48TB。具有大内存的特点,我们还进行了Cache加速,写负载高的时候上SSD,定期做Trim优化,利用SSD,SAS和SATA盘分级存储。
OS file system用的最多的是xfs。针对HDD、SSD 4k对齐优化,确保每个分区的start Address能被8整除,解决跨扇区访问,减少读写次数和延迟。
Shard和Replica个数是基于测试的经验,可以作为参考,还基于负载、性能等。节点数设置为1.5。Shard size 控制在30GB以内,Shard docs 控制在5百万记录以内,Replica至少为1。

可靠性

_4

由上图可以看到每个角色都有A、B、C三个点,然后做了冷热分离,Client多个点做了负载均衡。

性能分析

  • 高负载
    高负载主要采用IO负载型,主要关注Sar,Vmstat,IOstat,Dstat和Systemtap,Perf。
  • 线程池
    线程池这里主要关注Index,Query,Merge,Bulk,包括Thread,Queue Size和Active,Queue。
  • 内存占用
    内存占用主要看各个节点的内存占用大小,Fielddata设置为10%,也有的设置为1%,大部分场景都是精确查询。
  • 查询
    用慢查询作为告警,然后进行请求、响应、延时、峰值统计。随着资源使用率的提升,我们会发现在80%的点位,延时会特别大,于是会有多个监工。单个监工是没问题的,但是多个监工可能是有问题的。Query profile用来定位各个阶段的时间。Cache filling用来观看命中率如何,可以做一些cache的设置。然后会进行日志埋点采集,query replay,做一些测试。
  • 集群健康
    集群健康这里主要是对以下几项进行指标监控。 _cluster/health:active, reallocating, initializing,unassigned;Ping timeout;Shard allocation,recover latency。
  • GC效率
    GC效率主要关注以下几点:GC时长占比,GC回收量占比;内存增长速率,内存回收速率;各代回收耗时,频率;Dump profile;Jstack,Jmap,Jstat。

存储规划

_5

上图为基于不同业务做的存储规划。

性能提升

  • 合理设计
    首先我们会考虑每个域的意义,没有意义的域是不允许插进来的。然后要考虑需要存储搜索还是聚合,思考每一个域的价值所在。它是字符串型的还是数值型的?然后我们会对模板进行动态的设置。当字符串过长的时候,我们是否要做一个截取?是否要做一个Hash?
  • 批处理
    适当调大处理时间,Translog适当把频率降低。

_6

上图做了一个按需隔离,分表分级分组。
  • 规划计算
    提前聚合后插入;因为空间不够,所以超过生命周期后只保留基线,然后做压缩,做合并;随后可以做Pipeline拆分。

集群监控

监控这里用了一些工具。Netdata用来做一些系统资源的升级, _cat api是官方自带的,Cerebro是用的比较多的一个插件,Prometheus可以开箱即用。

告警分析

用Sql语法做一些包装、抽象,告警模型基于从工作日开始的迭代、同比环比、平均值及标准差,基线学习。
我们发现问题,解决问题,需要不停的去思考。不断迭代,严苛细节,最终性能是否满足?是否可接受?这些都是需要思考的问题。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4天前
|
SQL 存储 消息中间件
vivo基于Paimon的湖仓一体落地实践
本文整理自vivo互联网大数据专家徐昱在Flink Forward Asia 2024的分享,基于实际案例探讨了构建现代化数据湖仓的关键决策和技术实践。内容涵盖组件选型、架构设计、离线加速、流批链路统一、消息组件替代、样本拼接、查询提速、元数据监控、数据迁移及未来展望等方面。通过这些探索,展示了如何优化性能、降低成本并提升数据处理效率,为相关领域提供了宝贵的经验和参考。
300 3
vivo基于Paimon的湖仓一体落地实践
|
8天前
|
SQL 分布式计算 运维
StarRocks 在爱奇艺大数据场景的实践
本文介绍了爱奇艺大数据OLAP服务负责人林豪在StarRocks年度峰会上的分享,重点讲述了爱奇艺OLAP引擎的演进及引入StarRocks后的显著效果。在广告业务中,StarRocks替换Impala+Kudu后,接口性能提升400%,P90查询延迟缩短4.6倍;在“魔镜”数据分析平台中,StarRocks替代Spark达67%,P50查询速度提升33倍,P90提升15倍,节省4.6个人天。未来,爱奇艺计划进一步优化存算一体和存算分离架构,提升整体数据处理效率。
StarRocks 在爱奇艺大数据场景的实践
|
8天前
|
SQL 分布式计算 数据挖掘
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
川航选择引入 SelectDB 建设湖仓一体大数据分析引擎,取得了数据导入效率提升 3-6 倍,查询分析性能提升 10-18 倍、实时性提升至 5 秒内等收益。
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
|
5天前
|
数据采集 机器学习/深度学习 数据可视化
探索大数据分析的无限可能:R语言的应用与实践
探索大数据分析的无限可能:R语言的应用与实践
38 9
|
20天前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
本文整理自鹰角网络大数据开发工程师朱正军在Flink Forward Asia 2024上的分享,主要涵盖四个方面:鹰角数据平台架构、数据湖选型、湖仓一体建设及未来展望。文章详细介绍了鹰角如何构建基于Paimon的数据湖,解决了Hudi入湖的痛点,并通过Trino引擎和Ranger权限管理实现高效的数据查询与管控。此外,还探讨了湖仓一体平台的落地效果及未来技术发展方向,包括Trino与Paimon的集成增强、StarRocks的应用以及Paimon全面替换Hive的计划。
131 1
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
10天前
|
运维 自然语言处理 算法
云栖实录 | 大模型在大数据智能运维的应用实践
云栖实录 | 大模型在大数据智能运维的应用实践
|
10天前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
11天前
|
机器学习/深度学习 数据采集 分布式计算
大数据分析中的机器学习基础:从原理到实践
大数据分析中的机器学习基础:从原理到实践
51 3
|
2月前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
111 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
3月前
|
机器学习/深度学习 分布式计算 数据挖掘
MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
83 4

热门文章

最新文章