大数据平台任务监控

写在前面
监控的概念

监控是收集和分析数据以确定业务应用程序的性能,运行状况和可用性及其依赖的资源的行为。 有效的监控策略可帮助用户了解应用程序组件的详细进程,还可以通过主动通知关键问题来避免错误发生,以便在问题发生之前解决问题。

宏观上看,监控的内容可以总结为下图:
这里写图片描述
Ref: https://www.digitalocean.com/community/tutorials/an-introduction-to-metrics-monitoring-and-alerting

大数据平台的开源监控工具

大数据平台的大部分通用的监控内容可以通过以下方式获取:

  1. Yarn、Cloudera Manager 等集成组件的监控页面。
    这里写图片描述
    这里写图片描述

  2. 开源组件的REST API

  • MapReduce REST APIs: MapReduce Application Master REST API’sMapReduce History Server REST API’s
  • YARN REST APIs:ResourceManager REST API’sNodeManager REST API’s
  • Spark REST APIs
    Spark REST APIs踩坑说明Spark REST APIs文档中有如下说明,For the history server, they would typically be accessible at http://<server-url>:18080/api/v1, and for a running application, at http://localhost:4040/api/v1.意为历史任务的REST API在Spark History Server上http://server-url:18080/api/v1 接入, 正在运行的任务的REST API在Spark Drive 节点上http://localhost:4040/api/v1 接入。 实际操作过程中有以下几点需要注意:
    a.历史任务监控端口: CDH会对默认的端口进行修改,其中就包括Spark History Server端口,由18080改为18088,需要注意。
    b. 正在运行的任务监控地址和端口:用Yarn提交Spark任务时,Spark Driver是由Yarn决定的,所以要拿到正在运行的任务的REST API需要先从Yarn的日志中找到Driver节点,而且4040端口也会被Yarn配置为随机端口,需要注意。
    通过Yarn的日志拿到了地址和端口组成链接host:port/api/v1/applications,但是通过浏览器查看该链接会发生跳转,跳转后就无法在跳转的链接中输入REST信息,反复修改比较麻烦,可以使用Postman等工具进行监控。
开源监控工具的局限
  1. 权限管理困难。
    不同业务部门对不同的业务内容进行监控、进行不同级别的监控是大型平台系统监控的需求,依靠开源的组件难以实现。虽然一些第三方提供了一些权限管理的产品,但其力度难以满足大多数大型企业的要求。使用开源产品的商业发行版,也是一种办法,不过始终是不如企业原生系统在这方面的支持。(参考企业数据分析工作的任务、工具及挑战
  2. 具体业务的状态监控,需要对开源监控工具的功能进行补充。
    下图是我列举的一些具体的监控内容。以其中交互式进度获取为例,Hive执行查询任务时,如果查询引擎是MapReduce且查询任务比较复杂时,一个查询任务会被划分成多个application(具体划分方法与hive任务划分stage有关,可以用Hive Explain命令查看),此时查看单个application的进度是没有意义的,因为用户希望获取的是整个查询任务的进度。因此需要在开源工具的基础上做二次开发。
    这里写图片描述
开发监控组件例子

考虑到上述局限,个性化的监控组件是大数据平台常见的需求,开发监控组件是大数据平台软件开发的一个重要环节。不同的应用场景有不同的需求,需要对监控组件的开发思路也各有不同。这里提供些个获取REST API内容并消费的经典样例(Spring REST Client with RestTemplate: Consume RESTful Web Service Example for XML and JSONHow to read XML file in Java – (DOM Parser)),读者可根据需求对REST API上的内容进行组装或二次开发。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值