Hadoop---Yarn任务状态可视化项目

【目的】:根据昨天的任务运行情况和今天的任务运行情况做一个可视化图 方便查看任务是否积压。

【方法】:基于之前的代码 新增功能。之前的代码已经有了定时每小时发送 当前状态。只需要把当前状态进行存储mysql中 然后使用echarts展示即可。

当前的样子附图:

【开始】

首先找一个echarts双折线图 一个是昨天的 一个是今天的。

我们就用这个图了

首先定义一个mysql表结构

我们用到的数据库是:check

首先考虑的是yarn的表存储应该放一些什么东西???

我们采用每个组件一个单独表(其中包含客户字段 可以根据客户字段找到想要的客户 ----为之后考虑)

yarn_check表结构

1. service: 服务名称

2. component: 组件名称

3. project_name: 项目名称

4. customer: 客户名称

5. time: 采集数据的时间

6. submit_tasks: 提交的任务数目

7. complete_tasks: 完成的任务数目

8. pending_tasks: 挂起的任务数目

9. running_tasks: 运行的任务数目

10. failed_tasks: 失败的任务数目

11. total_memory_gb: 集群总内存大小(单位为 GB)

12. used_memory_gb: 集群已用内存大小(单位为 GB)

13. available_memory_gb: 集群可用内存大小(单位为 GB)

14. total_vcores: 集群总虚拟核数

15. allocated_vcores: 集群已分配虚拟核数

16. available_vcores: 集群可用虚拟核数

17. collector_ip: 采集数据的机器 IP 地址
CREATE TABLE yarn_check (

    service VARCHAR(50),

    component VARCHAR(50),

    project_name VARCHAR(100),

    customer VARCHAR(100),

    time DATETIME,

    submit_tasks INT,

    complete_tasks INT,

    pending_tasks INT,

    running_tasks INT,

    failed_tasks INT,

    total_memory_gb FLOAT,

    used_memory_gb FLOAT,

    available_memory_gb FLOAT,

    total_vcores INT,

    allocated_vcores INT,

    available_vcores INT,

    collector_ip VARCHAR(50)

);

写入情况:

这种方式入库 然后用echarts 做一下两个表的可视化就可以。

但是这种方式想了下还是需要单独开发…有想法的可以根据这个思路继续开发。

我最后采用了另一种方式

因为平台直接有prometheus和grafana

所以我直接用promQL查询出来就搞定了

Grafana上的

promQL查询当前时间:

Hadoop_ResourceManager_AppsRunning{name="QueueMetrics",product_name="Hadoop",service_name="yarn_resourcemanager",cluster_name=~"$cluster_name",instance=~"$instance",q1!=""}

promQL昨天时间:

Hadoop_ResourceManager_AppsRunning{name="QueueMetrics",product_name="Hadoop",service_name="yarn_resourcemanager",cluster_name=~"$cluster_name",instance=~"$instance",q1!=""} offset 1d

这里两个RM都可以看到是因为jmx对接了两个RM。

可以!=0 搞定 但是不建议 留着看就好啦….以后有更好的办法再更新。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值