导出 CDH 中各组件(HDFS、Hive、Impala、Kafka、Kudu、YARN和Zookeeper)指标到 Prometheus

文章目录

  • 前言
  • 一、提取准备
    • 1. 下载jmx
    • 2. 创建规则文件
  • 二、HDFS指标提取
    • 1. namenode指标提取
    • 2. datanode指标提取
  • 二、Hive指标提取
    • 1. Hive Metastore Server 指标提取
    • 2. HiveServer2 指标提取
  • 三、Impala 指标提取
    • 1. Impala Catalog Server 指标提取
    • 2. Impala Daemon 指标提取
  • 四、Kafka 指标提取
    • 1. Kafka Broker 指标提取
    • 2. Kafka MirrorMaker 指标提取
  • 五、KUDU指标提取
    • 1. Tablet Server 指标提取
      • 1.1 下载和解压
      • 1.2 修改配置文件
      • 1.3 启动和停止
        • 1.3.1 启动
        • 1.3.2 停止
        • 1.3.3 测试
    • 2. Master 指标提取
      • 2.1 创建配置文件和启动脚本
      • 2.2 修改配置文件
      • 2.3 修改启动脚本
      • 2.4 启动和停止
        • 2.4.1 启动
        • 2.4.2 停止
    • 3. Grafana模版下载
  • 六、YARN 指标提取
    • 1. ResourceManager 指标提取
    • 2. NodeManager 指标提取
  • 七、Zookeeper 指标提取
    • 1. Server 指标提取
  • 总结


前言

本教程介绍了如何提取大数据集群中不同组件的指标信息,涵盖了HDFS、Hive、Impala、Kafka、Kudu、YARN和Zookeeper等组件,通过配置环境变量以启用JMX监控,并展示了具体操作步骤和配置方法。


一、提取准备

1. 下载jmx

mkdir -p /opt/soft/jmx/config
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.18.0/jmx_prometheus_javaagent-0.18.0.jar -P /opt/soft/jmx/config/

2. 创建规则文件

echo "lowercaseOutputName: true
lowercaseOutputLabelNames: true
rules:- pattern: '.*'" > /opt/soft/jmx/config/common_conf.yml

二、HDFS指标提取

1. namenode指标提取

在Cloudera Manager的UI页面打开HDFS集群,点击配置,找到NameNode 环境高级配置代码段(安全阀),添加如下配置:

HADOOP_NAMENODE_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=2870 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=10870:/opt/soft/jmx/config/common_conf.yml

2. datanode指标提取

在Cloudera Manager的UI页面打开HDFS集群,点击配置,找到DataNode 环境高级配置代码段(安全阀),添加如下配置:

HADOOP_DATANODE_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=2864 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=10864:/opt/soft/jmx/config/common_conf.yml

配置之后需要重启HDFS服务使配置生效。


二、Hive指标提取

1. Hive Metastore Server 指标提取

在Cloudera Manager的UI页面打开Hive集群,点击配置,找到Hive Metastore Server 环境高级配置代码段(安全阀),添加如下配置:

HADOOP_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2083 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=10083:/opt/soft/jmx/config/common_conf.yml

2. HiveServer2 指标提取

在Cloudera Manager的UI页面打开Hive集群,点击配置,找到HiveServer2 环境高级配置代码段(安全阀),添加如下配置:

HADOOP_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2002 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=11002:/opt/soft/jmx/config/common_conf.yml

配置之后需要重启Hive服务使配置生效。


三、Impala 指标提取

1. Impala Catalog Server 指标提取

在Cloudera Manager的UI页面打开Impala集群,点击配置,找到Impala Catalog Server 环境高级配置代码段(安全阀),添加如下配置:

JAVA_TOOL_OPTIONS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2020 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=26020:/opt/soft/jmx/config/common_conf.yml

2. Impala Daemon 指标提取

在Cloudera Manager的UI页面打开Impala集群,点击配置,找到Impala Daemon 环境高级配置代码段(安全阀),添加如下配置:

JAVA_TOOL_OPTIONS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2000 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=26000:/opt/soft/jmx/config/common_conf.yml

配置之后需要重启Impala服务使配置生效。

参考链接:https://cwiki.apache.org/confluence/display/IMPALA/How+to+do+JVM+Profiling+for+Impala


四、Kafka 指标提取

1. Kafka Broker 指标提取

在Cloudera Manager的UI页面打开Kafka集群,点击配置,找到Kafka Broker 环境高级配置代码段(安全阀),添加如下配置:

KAFKA_JMX_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2092 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=10092:/opt/soft/jmx/config/common_conf.yml

2. Kafka MirrorMaker 指标提取

在Cloudera Manager的UI页面打开Kafka集群,点击配置,找到Kafka MirrorMaker 环境高级配置代码段(安全阀),添加如下配置:

KAFKA_JMX_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2192 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=20092:/opt/soft/jmx/config/common_conf.yml

配置之后需要重启Kafka服务使配置生效。

参考链接:https://docs.confluent.io/platform/current/kafka/monitoring.html


五、KUDU指标提取

1. Tablet Server 指标提取

1.1 下载和解压

wget https://github.com/leeeizhang/Prometheus-Kudu-Exporter/releases/download/v0.2.0/prometheus-kudu-exporter-binary-0.2.0.tar.gz -P /tmp
tar -zxvf /tmp/prometheus-kudu-exporter-binary-0.2.0.tar.gz -C /opt/soft/jmx/config/

1.2 修改配置文件

vim /opt/soft/jmx/config/prometheus-kudu-exporter/conf/kudu-exporter.yml

内容如下所示。

# Fetcher配置
# Kudu服务器的端口应该是8051,Kudu平板服务器应该是8050
prom.kudu.fetcher.classname: io.prometheus.kudu.fetcher.KuduMetricRestFetcher
prom.kudu.fetcher.kudu-nodes: [ host_ip:8050 ]
prom.kudu.fetcher.interval: 10000#单机报表配置
#启动后请访问http://localhost:9055/metrics查看kudu-export状态
prom.kudu.reporter.classname: io.prometheus.kudu.reporter.KuduMetricLocalReporter
prom.kudu.reporter.local.port: 9050# Push-Gateway 报表配置
# Push-Gateway应该在运行kudu-export之前安装
#prom.kudu.reporter.classname: io.prometheus.kudu.reporter.KuduMetricPushGatewayReporter
#prom.kudu.reporter.pushgateway.host: 127.0.0.1:9091
#prom.kudu.reporter.pushgateway.interval: 10000

1.3 启动和停止

1.3.1 启动
nohup /opt/soft/jmx/config/prometheus-kudu-exporter/bin/kudu-exporter.sh >/tmp/kudu-exporter.log 2>&1 &
1.3.2 停止

查看进程PID,然后停止对应进程。

ps -ef | grep prometheus-kudu-exporter
kill <PID>
1.3.3 测试
curl http://127.0.0.1:9050/metrics

2. Master 指标提取

2.1 创建配置文件和启动脚本

cd /opt/soft/jmx/config/prometheus-kudu-exporter/conf
cp kudu-exporter.yml kudu-exporter-master.yml
cd /opt/soft/jmx/config/prometheus-kudu-exporter/bin
cp kudu-exporter.sh kudu-exporter-master.sh

2.2 修改配置文件

cd /opt/soft/jmx/config/prometheus-kudu-exporter/conf
vim kudu-exporter-master.yml

内容如下所示。

# Fetcher配置
# Kudu服务器的端口应该是8051,Kudu平板服务器应该是8050
prom.kudu.fetcher.classname: io.prometheus.kudu.fetcher.KuduMetricRestFetcher
prom.kudu.fetcher.kudu-nodes: [ host_ip:8051 ]
prom.kudu.fetcher.interval: 10000#单机报表配置
#启动后请访问http://localhost:9055/metrics查看kudu-export状态
prom.kudu.reporter.classname: io.prometheus.kudu.reporter.KuduMetricLocalReporter
prom.kudu.reporter.local.port: 9051# Push-Gateway 报表配置
# Push-Gateway应该在运行kudu-export之前安装
#prom.kudu.reporter.classname: io.prometheus.kudu.reporter.KuduMetricPushGatewayReporter
#prom.kudu.reporter.pushgateway.host: 127.0.0.1:9091
#prom.kudu.reporter.pushgateway.interval: 10000

2.3 修改启动脚本

cd /opt/soft/jmx/config/prometheus-kudu-exporter/bin
vim kudu-exporter-master.sh

把启动脚本中PROMETHEUS_KUDU_EXPORTER_CONF="$PROMETHEUS_KUDU_EXPORTER_CONF_DIR"/kudu-exporter.yml修改为PROMETHEUS_KUDU_EXPORTER_CONF="$PROMETHEUS_KUDU_EXPORTER_CONF_DIR"/kudu-exporter-master.yml

2.4 启动和停止

2.4.1 启动
nohup /opt/soft/jmx/config/prometheus-kudu-exporter/bin/kudu-exporter-master.sh >/tmp/kudu-exporter-master.log 2>&1 &
2.4.2 停止

查看进程PID,然后停止对应进程。

ps -ef | grep prometheus-kudu-exporter
kill <PID>

3. Grafana模版下载

点击下载KUDU指标JSON模版


六、YARN 指标提取

1. ResourceManager 指标提取

在Cloudera Manager的UI页面打开Kafka集群,点击配置,找到ResourceManager 环境高级配置代码段(安全阀),添加如下配置:

YARN_RESOURCEMANAGER_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2088 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=9088:/opt/soft/jmx/config/common_conf.yml

2. NodeManager 指标提取

在Cloudera Manager的UI页面打开Kafka集群,点击配置,找到NodeManager 环境高级配置代码段(安全阀),添加如下配置:

YARN_NODEMANAGER_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=2042 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=9042:/opt/soft/jmx/config/common_conf.yml

配置之后需要重启YARN服务使配置生效。

参考链接:https://community.cloudera.com/t5/Community-Articles/Enable-JMX-metrics-on-hadoop-using-jmxterm/ta-p/247783


七、Zookeeper 指标提取

1. Server 指标提取

在Cloudera Manager的UI页面打开Kafka集群,点击配置,找到Server 环境高级配置代码段(安全阀),添加如下配置:

ZOOKEEPER_SERVER_OPTS=-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=9010 -javaagent:/opt/soft/jmx/config/jmx_prometheus_javaagent-0.18.0.jar=3181:/opt/soft/jmx/config/common_conf.yml

总结

本教程详细介绍了如何使用JMX Prometheus Exporter工具来提取各个大数据组件的指标信息,并将其暴露给Prometheus进行监控。通过学习本教程,您可以轻松设置并收集这些指标数据,并利用可视化工具展示和分析它们。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tomcat的实现

在一台电脑上启动tomcat&#xff0c;tomcat即是server&#xff0c;即服务器。服务器只会被实例化一次&#xff0c;tomcat这只猫就是服务器。服务器下包含多个子节点服务&#xff0c;即service&#xff0c;顾名思义就是对外提供服务。服务器通常只有一个服务&#xff0c;默认是卡…

R语言计算特定列的和(自备)

R语言长款数据转换&#xff08;自备&#xff09;_r语言宽数据转换成长数据-CSDN博客 数据 rm(list ls()) library(ggplot2) library(ggpubr) library(cowplot) data <- iris##鸢尾花数据集 #[1] "Sepal.Length" "Sepal.Width" "Petal.Length&…

uniapp 文字转语音(文字播报、语音合成)、震动提示插件 Ba-TTS

简介&#xff08;下载地址&#xff09; Ba-TTS 是一款uniapp语音合成&#xff08;tts&#xff09;插件&#xff0c;支持文本转语音&#xff08;无服务费&#xff09;&#xff0c;支持震动提示。 支持语音合成&#xff0c;文本转语音支持震动&#xff08;可自定义任意震动效果…

一对一WebRTC视频通话系列(二)——websocket和join信令实现

本系列博客主要记录WebRtc实现过程中的一些重点&#xff0c;代码全部进行了注释&#xff0c;便于理解WebRTC整体实现。 一对一WebRTC视频通话系列往期博客&#xff1a; 一对一WebRTC视频通话系列&#xff08;一&#xff09;—— 创建页面并显示摄像头画面 websocket和join信令…

Go实战训练之Web Server 与路由树

Server & 路由树 Server Web 核心 对于一个 Web 框架&#xff0c;至少要提供三个抽象&#xff1a; Server&#xff1a;代表服务器的抽象Context&#xff1a;表示上下文的抽象路由树 Server 从特性上来说&#xff0c;至少要提供三部分功能&#xff1a; 生命周期控制&…

堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41),framework修改,去除第三方app的倒计时页面

文章目录 堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41)&#xff0c;framework修改&#xff0c;去除第三方app的倒计时页面1.打印异常堆栈2.去除第三方app的倒计时页面3.模拟点击事件跳过首页进入主页 堆栈打印跟踪Activity的启动过程(基于Android10.0.0-r41)&#x…

在Ubuntu上怎么查看安装了哪些包?

2024年5月3日&#xff0c;周五晚上 在Ubuntu上&#xff0c;你可以使用以下命令来查看系统中已安装的包&#xff1a; 使用dpkg命令&#xff1a;dpkg --list这个命令将列出系统中所有已安装的软件包&#xff0c;包括名称、版本号和描述等信息。你可以使用 grep 命令来过滤结果&a…

领域驱动设计(DDD)笔记(三)后端工程架构

文章链接 领域驱动设计(DDD)笔记(一)基本概念-CSDN博客领域驱动设计(DDD)笔记(二)代码组织原则-CSDN博客领域驱动设计(DDD)笔记(三)后端工程架构-CSDN博客前导 领域驱动设计(Domain Driven Design,简称DDD)是业内主导的业务工程理论。它在各中权威人士被广泛讨论…

华为云耀云服务器开放端口

博客主页&#xff1a;花果山~程序猿-CSDN博客 关注我一起学习&#xff0c;一起进步&#xff0c;一起探索编程的无限可能吧&#xff01;让我们一起努力&#xff0c;一起成长&#xff01; 目录 一.华为云控制台开放端口 寻找到安全组信息 2. 添加开放的端口信息 3. 检查是否成…

信息泄露.

一&#xff0c;遍历目录 目录遍历&#xff1a;没有过滤目录相关的跳转符号&#xff08;例如&#xff1a;../&#xff09;&#xff0c;我们可以利用这个目录找到服务器中的每一个文件&#xff0c;也就是遍历。 tipe&#xff1a;依次点击文件就可以找到flag 二&#xff0c;phpi…

JavaScript基础(四)

逻辑运算符 && 与 : 多个条件同时满足 ΙΙ 或 : 多个条件满足一个 &#xff01; 非 : 否定某个条件 例: <script> //&多个条件同时满足&#xff0c;才返回true //任意一个为false&#xff0c;就返回false var a 10; var b 20; …

vue快速入门(五十)重定向

注释很详细&#xff0c;直接上代码 上一篇 本篇建立在之前篇目前提下针对重定向进行演示 新增内容 路由重定向写法 源码 src/router/index.js //导入所需模块 import Vue from "vue"; import VueRouter from "vue-router"; import myMusic from "/v…

Java的分布式微服务

Java的分布式微服务是一个涉及多个方面的复杂概念&#xff0c;以下是对其的详细解释&#xff1a; 概念&#xff1a; 微服务&#xff1a;这是一种软件架构模式&#xff0c;它将大型的应用程序分解为一组小型、自治的服务单元。每个服务运行在其独立的进程中&#xff0c;并通过轻…

C#面:如何部署 ASP.NET 页面

在C#中部署 ASP.NET 页面有几种常见的方式&#xff0c;下面我将介绍其中两种常用的方式&#xff1a; IIS部署&#xff1a; 在服务器上安装IIS&#xff08;Internet Information Services&#xff09;。 在IIS中创建一个新的网站或虚拟目录&#xff0c;将其指向你的ASP.NET项目…

MongoDB聚合运算符:$strLenBytes

MongoDB聚合运算符&#xff1a;$strLenBytes 文章目录 MongoDB聚合运算符&#xff1a;$strLenBytes语法使用举例单字节和多字节字符集 $strLenBytes聚合运算符返回指定字符串中 UTF-8 编码的字节数。 语法 { $strLenBytes: <string expression> }<expression>为可…

【51蛋骗鸡595点阵88数码管流水灯综合应用】2021-12-30

缘由51单片机变量进阶与点阵LED-嵌入式-CSDN问答 大佬们 求解单片机点亮点阵程序 被困3天了一直想不明白 - 24小时必答区 #include<reg52.h>//头文件sbit shcpP1^2;//数据输入时钟线 595的11脚 sbit stcpP1^1;//输出存储器锁存时钟线 595的12脚 sbit dsP1^0;//数据线 5…

AI视频教程下载:零代码创建AI智能体、AI Agents和ChatGPT的Gpts

这门课程专注于提示工程的掌握&#xff0c;教你以精确的方式引导GPT&#xff0c;利用它们的生成能力产生卓越的AI驱动结果。一步一步地&#xff0c;你将学会创建多样化的GPT军团——每个都设计来满足特定的专业需求。 从提供个性化职业变更指导的职业教练AI&#xff0c;到以惊…

无人机+飞行汽车:低空经济新引擎,有望爆发式增长

无人机和飞行汽车作为低空经济的新引擎&#xff0c;正在引领一场全新的交通革命。随着技术的不断进步和政策的支持&#xff0c;低空经济有望成为未来经济发展的重要领域&#xff0c;实现爆发式增长。 首先&#xff0c;无人机和飞行汽车具有独特的优势和应用场景。无人机可以在…

Adobe PS 2023、Adobe Photoshop 2023下载教程、安装教程

Adobe Photoshop &#xff08;<-下载连接&#xff09;简介&#xff1a; Adobe Photoshop是一款广泛使用的图像处理软件&#xff0c;由Adobe公司开发。它提供了许多强大的工具和功能&#xff0c;可以用于图像编辑、合成、修饰、设计等各个领域。用户可以使用Photoshop来调整…

Mybatis四种实例化对象方式

代码准备 创建mybatis-config.xml <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration…