文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

[离线计算-Spark|Hive] 大数据应用性能指标采集工具改造落地

2019-04-11 14:28

关注

[离线计算-Spark|Hive] 大数据应用性能指标采集工具改造落地

本文主要介绍了下Uber的开源项目jvm-profiler的产生背景,设计原理以及架构, 后面也设计了一套落地方案,用于采集spark、hive任务的资源消耗相关指标,可用于后续分析以及资源调优.

背景

主要介绍针对平台的spark应用程序,在不修改用户程序的情况下 如何采集其资源和性能指标为后续分析使用,如性能优化,资源使用计价等.

分析挑战

在应用程序级别关联大量进程的指标

在分布式环境中,多个 Spark 应用程序运行在同一台服务器上,每个 Spark 应用程序都有大量的进程(例如数千个执行程序)在许多服务器上运行.

79xF9U.png

  1. 需要一个解决方案,该解决方案可以为每个进程收集指标,并将它们关联到每个应用程序的流程中

  2. 我们不知道这些流程何时启动以及需要多长时间。为了能够在这种环境中收集指标,分析器需要随每个进程自动启动。

使指标收集对任意用户代码无干扰

为了跟上数据基础设施的不断增长,我们需要能够随时测量任何应用程序,而无需更改代码。

例如,如果我们在 Hadoop 分布式文件系统 (HDFS) NameNode 上遇到高延迟,我们希望检查从每个 Spark 应用程序观察到的延迟,以确保这些问题没有被复制。由于 NameNode 客户端代码嵌入在我们的 Spark 库中,因此修改其源代码以添加此特定指标很麻烦。

JVM Profiler 引入

主要受 https://github.com/etsy/statsd-jvm-profiler 启发构建了更多功能的分析器

JVM Profiler 由三个关键功能组成,可以更轻松地收集性能和资源使用指标,然后将这些指标(例如 Apache Kafka)提供给其他系统进行进一步分析:

JVM Profiler 使用场景

实现细节及可扩展性

为了使实现尽可能无缝,JVM Profiler 具有非常简单且可扩展的设计。人们可以轻松添加额外的分析器实现来收集更多指标,还可以部署自己的自定义报告器,将指标发送到不同的系统进行数据分析。

7CPM4I.png

一旦进程启动,JVM Profiler 代码就会通过Java agent 参数加载到 Java 进程中。它由三个主要部分组成:

如何自定义reporter发送指标

用户可以实现自己的报告器并使用 -javaagent 选项指定它:

-javaagent:jvm-profiler-0.0.5.jar= reporter=com.uber.profiling.reporters.CustomReporter

JVM Profiler 在Uber数据基础设施集成

7Vbz36.png

基础设施集成实现:

如何落地的

扩展设计

7ZVAaR.png

整体流程:

部署

spark: 上传jvm-profiler jar 包到 hdfs上,提交任务时参数指定
hive: 部署jar到 hiveserver2 节点对应libs下面

总结

本文主要介绍了下Uber的开源项目jvm-profiler的产生背景,设计原理以及架构, 后面也设计了一套落地方案,用于采集spark、hive任务的资源消耗相关指标,可用于后续分析以及资源调优.

参考

https://eng.uber.com/jvm-profiler/

https://github.com/uber-common/jvm-profiler

本文作者: chaplinthink, 关注领域:大数据、基础架构、系统设计, 一个热爱学习、分享的大数据工程师
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯