部署Promethuse监控Hadoop节点

2023-10-27

目标

Hadoop本身是对相当数量的指标(metrics)进行实时监控的。但是Hadoop本身并不提供方便快捷的方式进行实时查询。如果你和我一样想要实时监测Hadoop节点的相关指标(比如namenode和datanode的性能),那么本文档可能会适合你。
前提条件,你已经部署好了一个HDFS集群。

安装

在官网上下载最近稳定发行版本并解压

wget https://github.com/prometheus/prometheus/releases/download/v2.46.0/prometheus-2.46.0.linux-amd64.tar.gz
tar -zxvf prometheus-2.46.0.linux-amd64.tar.gz 
mv prometheus-2.46.0.linux-amd64 prometheus

进入目录下,查看默认的配置文件promethues.yml

promethues自己会监控自己的一些指标,我们可以直接执行./promthues启动,然后在web查看9090端口

将hadoop的jmx信息采集到指定端口

我们发现promethues只能处理KV形式的metrics,所以如果我们想要监控Hadoop的性能,必须对Hadoop的指标监控进行预处理。已经存在开源工具帮助我们做这一步,笔者本文使用的是JMX Exporter,但是刚发现了更契合的工具hadoop_exporter,感兴趣的自行搜索。
下载JMX Exporter

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.19.0/jmx_prometheus_javaagent-0.19.0.jar

其绝对路径是/usr/local/prometheus/jmx_prometheus_javaagent-0.19.0.jar
创建一个配置文件/usr/local/prometheus/jmx/prometheus_config.yml
文件内容

rules: 
- pattern: ".*"

修改hadoop-env.sh,添加如下两行

if ! grep -q <<<"$ROOT_DATANODE_OPTS" jmx_prometheus_javaagent; then
ROOT_DATANODE_OPTS="$ROOT_DATANODE_OPTS -javaagent:/usr/local/prometheus/jmx_prometheus_javaagent-0.19.0.jar=30002:/usr/local/prometheus/jmx/prometheus_config.yml"
fi
if ! grep -q <<<"$ROOT_NAME_NODE_OPTS" jmx_prometheus_javaagent; then
ROOT_NAMENODE_OPTS="$ROOT_NAMENODE_OPTS -javaagent:/usr/local/prometheus/jmx_prometheus_javaagent-0.19.0.jar=30001:/usr/local/prometheus/jmx/prometheus_config.yml"
fi

重启集群后发现30001,30002端口打开了

配置prometheus

修改/usr/local/prometheus/prometheus.yml

  - job_name: "namenode"
    static_configs:
      - targets: ["localhost:30001"]

  - job_name: "datanode"
    static_configs:
      - targets: ["localhost:30002"]

重启prometheus,成功采集

其他说明

在配置过程中难免会出现按照他人的文档无法复现的情况,建议查看日志和输出文件
以datanode为例,datanode运行期间的日志会写在/usr/local/hadoop/logs/hadoop-root-datanodex.log中,如果启动datanode进程失败,失败原因在log中也没有记录的话,可以查看/usr/local/hadoop/logs/hadoop-root-datanodex.out.x文件,可能会有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

部署Promethuse监控Hadoop节点 的相关文章

随机推荐

  • 引用传递的参数类型,加不加ref是不同的

    教科书上说引用传递的参数引用时 加不加ref都可以 都会改变参数原来的值 值传递参数引用时如果想要改变原来的值 必须加ref 以前遇到的大部分情况确实是如此 引用传递类型比如ArrayList DataTable到另一个方法中 并在该方法中
  • 关于腾讯云短信sms接口自定义API写法 PHPdemo

    腾讯云短信 Short Message Service SMS 接口自定义API写法 PHPdemo 问题1 调试时 参数必须是真实的 这样才能一次到位 比如我 故意短信签名 填个错的 这样不扣量 提示个 FailedOperation S
  • IDEA快捷键

    Ctrl Shift Enter 语句完成 否定完成 输入表达式时 键 Ctrl E 最近的文件 Ctrl Shift E 最近更改的文件 Shift Click 可以关闭文件 Ctrl OR 可以跑到大括号的开头与结尾 Ctrl F12
  • Yii Framework 开发教程(1) 第一个应用Hello World

    Yii Framework 教程可以参见官方中文文档 那么为什么还要写这个开发教程呢 本教程目的是通过不同的视角 主要是通过开发Windows应用C C 程序员的角度 帮助Windows 桌面应用或ASP Net程序员较快的掌握PHP Yi
  • C++用 _findfirst 和 _findnext 查找文件

    一 这两个函数均在io h里面 二 首先了解一下一个文件结构体 struct finddata t unsigned attrib time t time create time t time access time t time writ
  • ipv6地址为什么显示两个_基本IPv6故障排除命令/ IPv6 Rosetta Stone 2019

    这篇文章旨在概述Windows Linux和macOS这三个主要操作系统的基本IPv6故障排除方法和命令 对于这些操作系统 仅适用于某些特定任务 它包括 IPv6 Rosetta Stone 的更新版本 这是我经常向IPv6初学者介绍的网站
  • 怎么用计算机上的打印设备打印,电脑中怎么添加打印机设备

    电脑中怎么添加打印机设备 电脑中怎么添加打印机设备呢 下面小编介绍一下 具体如下 1 打开电脑 点击 控制面板 图标 2 在如图页面 找到 硬件和声音 点击打开 3 然后点击 设备和打印机 选项 4 打开后 点击上方的 添加打印机 5 最后
  • 递归解题思维

    目录 开篇 用递归解题的意义 递归思维与数学归纳法 递归解题的类型 递归结题步骤 递归例题 1 求N阶乘 2 找出数组中的最小值 3 字符串翻转 小结 开篇 网上关于如何用递归解决问题方法的文章很多了 看了一些 我也来谈谈我的看法 很多文章
  • elementui 更换主题色

    定义CSS变量 由var 函数来获取值 设定值 root background color FF0000 获取值 div background color var background color JS获取变量 const element
  • c语言进行菜单制作

    include stdlib h include
  • Lecture11: (增强)拉格朗日松弛技术

    目录 1 理论背景 2 数学分析 3 LR计算案例 3 1 分解 3 2 算法 4 ALR计算案例 4 1 主要思想 4 2 ADMM 当你的问题中包含复杂约束时 你可能需要该方法 本节目标 阐述拉格朗日松弛 增强拉格朗日松弛和交替方向乘子
  • Ubuntu22.04安装Git及配置

    Git安装配置 apt get install git 安装Git git version 安装成功后显示版本 git version 2 34 1 git config global user name name 配置用户名 git co
  • Scrapy之CsvItemExporter生成的CSV文件乱码解决

    环境信息 Python 3 6 5 Scrapy 2 2 导出文件逻辑 self file open Users chenjunfeng02 Downloads enrolldata csv wb self exporter CsvItem
  • 【电脑蓝屏】—— inaccessible boot device

    文章目录 一 问题描述 二 问题出现场景及原因分析 1 重装系统后出现该蓝屏情况 三 问题解决方法 附件 一 问题描述 蓝屏提示 inaccessible boot device 二 问题出现场景及原因分析 1 重装系统后出现该蓝屏情况 设
  • 【matlab深度学习工具箱】classificationLayer参数详解

    classificationLayer 文章目录 classificationLayer 语法 描述 例子 创建分类图层 创建加权分类图层 输入参数 名称 值参数 Name 图层名称 默认 字符向量 字符串标量 ClassWeights 加
  • 多元回归预测

    文章目录 效果一览 文章概述 部分源码 参考资料 效果一览 文章概述 多元回归预测 Matlab基于粒子群算法 PSO 优化径向基神经网络 PSO RBF 的数据回归预测 多变量输入模 评价指标包括 MAE RMSE和R2等 代码质量极高
  • 眼底图像血管分割学习笔记

    一 图像处理 训练集的图片格式为tif 其中相应的分割标签格式 为gif 一开始想着这些图片是不是都要先转换成 jpg或者 png 在查阅了一些资料后其实还是不太清楚 然后在看别人的代码时 发现没有处理 所以就先这样弄着 出现的问题 cla
  • Centos7 上的sqlite3安装及升级

    一 wget升级 yum install y wget 二 sqlite3安装 sudo yum install sqlite devel 查看sqlite3的版本 sqlite3 version 三 sqlite3升级 下载源码 wget
  • 试试这两个方法,做视频二次剪辑并不难,新手一天可以收入200

    很多新手看到别人每天做短视频一个月有过万 几万的收益 看到别人能赚钱 觉得自己可能赚不到这么多 赚个7 8千应该没问题 于是开始自己学着也做起了短视频自媒体 每天埋头苦干 但每天的收益却很低 只有几块 几十 有的甚至更少 跟自己想象的完全不
  • 部署Promethuse监控Hadoop节点

    部署Promethuse监控Hadoop节点 目标 安装 将hadoop的jmx信息采集到指定端口 配置prometheus 其他说明 目标 Hadoop本身是对相当数量的指标 metrics 进行实时监控的 但是Hadoop本身并不提供方