hadoop - JMX 导出 Mapreduce 指标
问题描述
我正在尝试使用 JMX 导出 Hadoop 集群的指标。它适用于 HDFS 和 resourceManager。将其添加到HADOOP_OPTS
、HADOOP_NAMENODE_OPTS
和。HADOOP_DATANODE_OPTS
YARN_RESOURCEMANAGER_OPTS
如何导出作业的 Mapreduce 指标?我想导出地图和减少等作业操作。作为在下图中显示作业 UI 的指标:
解决方案
正如评论中所暗示的,您必须在程序驱动程序(Runner)上设置此配置,以便将其传播到映射器/减速器:
configuration.set("mapreduce.map.java.opts", "-Xmx1600m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8008");
同样,对于 reducer,您可以将变量设置为mapreduce.reduce.java.opts
.
看看它是否有效。只需登录到运行该作业的数据节点之一;并运行ps aux | grep 8008
以查看 JMX 端口是否在 mapper 或 reducer 进程上设置正确。
警告:同一台机器不能两次导出同一个端口。您必须确保不会发生这种情况。
推荐阅读
- excel - 如何在 Windows 的同一个 Excel 单元格中键入东方阿拉伯数字和阿拉伯字母?
- javascript - 如何使用选择标签更改 div 中的图像?
- python-3.x - 我如何使用输入框输入作为 f(x)
- use-case - 需求分析和用例
- sqlite - EF Core InMemory 使用 SQLite DB - 删除行为上的外键设置为空问题
- java - apache netbeans 11.3 是否兼容 jdk 13 jdk 13 是否包含 derby 数据库?
- assembly - nasm 是否支持将浮点表达式转换为整数?
- quantum-computing - 在 qiskit 中实现量子隐形传态
- c# - 为什么方法内的代码执行了两次?
- php - 刷新后如何保存/重新提交表单信息