我一直在寻找一个默认的 hadoop-metrics2.properties 文件,它只是通过 JMX 公开所有可用的指标,但找不到。
1.0.3 附带的当前文件非常空,并且引用了包信息,它没有显示度量类的名称。
要启用 JMX 进行远程监控,您无需修改 hadoop-metrics2.properties 文件。相反,您必须在启动脚本中添加类似于以下内容的内容:(HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote.port=8004"
该示例可以放入您的hadoop-env.sh
文件中)。
除了公开 JMX 指标之外,您还应该注意,您的所有 JMX 指标都可以通过 HTTP(在本示例中为 namenode)在以下位置获得:http://namenode-host:50070/jmx
如果您希望通过本地 JMX 连接查看 Hadoop 指标,则无需进行额外的配置更改。只需jconsole
在您的本地实例上运行。
(将以下内容添加到您的 metrics2.properties 中,以便每 10 秒转储一次,该文件将位于 $HADOOP_HOME/logs 目录中)
*.sink.file.class=org.apache.hadoop.metrics2.sink.FileSink
*.period=10
namenode.sink.file.filename=./logs/namenode-metrics.out
datanode.sink.file.filename=./logs/datanode-metrics.out
jobtracker.sink.file.filename=./logs/jobtracker-metrics.out
tasktracker.sink.file.filename=./logs/tasktracker-metrics.out