Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 044a12e

Browse files
author
Zhang Jun
committed
update docs.
1 parent 135c5db commit 044a12e

File tree

3 files changed

+43
-38
lines changed

3 files changed

+43
-38
lines changed

‎README.md‎

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,47 @@
11
# hadoop_jmx_exporter
22

3-
Hadoop HDFS & YARN metrics exporter.
3+
Hadoop HDFS & YARN jmx metrics prometheus exporter.
44

55
# 运行
66

77
``` bash
88
➜ hadoop_jmx_exporter git:(master) ✗ pip install -r requirements.txt
9-
➜ hadoop_exporter git:(master) ✗ python hadoop_jmx_exporter.py --help
10-
usage: hadoop_jmx_exporter.py [-h] [-c cluster_name] [-hdfs namenode_jmx_url]
11-
[-rm resourcemanager_jmx_url]
12-
[-dn datanode_jmx_url] [-jn journalnode_jmx_url]
13-
[-nm nodemanager_jmx_url] [-p metrics_path]
14-
[-host ip_or_hostname] [-P port]
9+
10+
➜ hadoop_exporter git:(master) python hadoop_jmx_exporter.py --help
11+
usage: hadoop_jmx_exporter.py [-h] -cluster cluster_name [-queue queue_regexp]
12+
[-nns [namenode_jmx_url [namenode_jmx_url ...]]]
13+
[-dns [datanode_jmx_url [datanode_jmx_url ...]]]
14+
[-rms [resourcemanager_jmx_url [resourcemanager_jmx_url ...]]]
15+
[-nms [nodemanager_jmx_url [nodemanager_jmx_url ...]]]
16+
[-jns [journalnode_jmx_url [journalnode_jmx_url ...]]]
17+
[-host ip_or_hostname] [-port port]
18+
[-path metrics_path]
1519

1620
hadoop jmx metric prometheus exporter
1721

1822
optional arguments:
1923
-h, --help show this help message and exit
20-
-c cluster_name, --cluster cluster_name
21-
Hadoop cluster labels. (default "yh-cdh")
22-
-hdfs namenode_jmx_url, --namenode-url namenode_jmx_url
23-
Hadoop hdfs metrics URL.
24-
-rm resourcemanager_jmx_url, --resourcemanager-url resourcemanager_jmx_url
25-
Hadoop resourcemanager metrics URL.
26-
-dn datanode_jmx_url, --datanode-url datanode_jmx_url
27-
Hadoop datanode metrics URL.
28-
-jn journalnode_jmx_url, --journalnode-url journalnode_jmx_url
29-
Hadoop journalnode metrics URL.
30-
-nm nodemanager_jmx_url, --nodemanager-url nodemanager_jmx_url
31-
Hadoop nodemanager metrics URL.
32-
-p metrics_path, --path metrics_path
33-
Path under which to expose metrics. (default
34-
"/metrics")
35-
-host ip_or_hostname, -ip ip_or_hostname, --address ip_or_hostname, --addr ip_or_hostname
36-
Polling server on this address. (default "0.0.0.0")
37-
-P port, --port port Listen to this port. (default "6688")
38-
39-
➜ hadoop_jmx_exporter git:(master) ✗ python hadoop_jmx_exporter.py -c yh-cdh -hdfs http://10.193.40.10:50070/jmx -rm http://10.193.40.2:8088/jmx -dn http://10.193.40.9:50075/jmx -jn http://yh-shhd-cdh05:8480/jmx -nm http://yh-shhd-cdh05:8042/jmx
24+
-cluster cluster_name
25+
Hadoop cluster name (maybe HA name)
26+
-queue queue_regexp Regular expression of queue name. default: root.*
27+
-nns [namenode_jmx_url [namenode_jmx_url ...]]
28+
Hadoop hdfs namenode jmx metrics URL.
29+
-dns [datanode_jmx_url [datanode_jmx_url ...]]
30+
Hadoop datanode jmx metrics URL.
31+
-rms [resourcemanager_jmx_url [resourcemanager_jmx_url ...]]
32+
Hadoop resourcemanager metrics jmx URL.
33+
-nms [nodemanager_jmx_url [nodemanager_jmx_url ...]]
34+
Hadoop nodemanager jmx metrics URL.
35+
-jns [journalnode_jmx_url [journalnode_jmx_url ...]]
36+
Hadoop journalnode jmx metrics URL.
37+
-host ip_or_hostname Listen on this address. default: 0.0.0.0
38+
-port port Listen to this port. default: 6688
39+
-path metrics_path Path under which to expose metrics. default: /metrics
40+
➜ hadoop_exporter git:(master) ✗
41+
42+
➜ hadoop_exporter git:(master) ✗ python hadoop_jmx_exporter.py -cluster yh-cdh -nns http://10.193.40.10:50070/jmx http://10.193.40.3:50070/jmx -dns http://10.193.40.9:50075/jmx http://10.193.40.3:50075/jmx http://10.193.40.10:50075/jmx -rms http://yh-shhd-cdh04:8088/jmx http://yh-shhd-cdh01:8088/jmx -nms http://yh-shhd-cdh04:8042/jmx http://yh-shhd-cdh05:8042/jmx
4043
Listen at 0.0.0.0:6688
41-
hang
44+
4245
```
4346
4447
浏览器打开 `http://127.0.0.1:6688/metrics` 查看 metrics。

‎cmd/utils.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,13 +133,13 @@ def get_file_list(file_path_name):
133133
def parse_args():
134134
parser = argparse.ArgumentParser(description='hadoop jmx metric prometheus exporter')
135135
parser.add_argument('-cluster', required=True, metavar='cluster_name', help='Hadoop cluster name (maybe HA name)')
136-
parser.add_argument('-queue', required=False, metavar='queue_regexp', help='Regular expression of queue name', default='root.*')
136+
parser.add_argument('-queue', required=False, metavar='queue_regexp', help='Regular expression of queue name. default: root.*', default='root.*')
137137
parser.add_argument('-nns', required=False, metavar='namenode_jmx_url', help='Hadoop hdfs namenode jmx metrics URL.', nargs="*")
138138
parser.add_argument('-dns', required=False, metavar='datanode_jmx_url', help='Hadoop datanode jmx metrics URL.', nargs="*")
139139
parser.add_argument('-rms', required=False, metavar='resourcemanager_jmx_url', help='Hadoop resourcemanager metrics jmx URL.', nargs="*")
140140
parser.add_argument('-nms', required=False, metavar='nodemanager_jmx_url', help='Hadoop nodemanager jmx metrics URL.', nargs="*")
141141
parser.add_argument('-jns', required=False, metavar='journalnode_jmx_url', help='Hadoop journalnode jmx metrics URL.', nargs="*")
142-
parser.add_argument('-host', required=False, metavar='ip_or_hostname', help='Listen on this address.', default='0.0.0.0')
143-
parser.add_argument('-port', required=False, metavar='port', type=int, help='Listen to this port.', default=6688)
144-
parser.add_argument('-path', required=False, metavar='metrics_path', help='Path under which to expose metrics.', default='/metrics')
142+
parser.add_argument('-host', required=False, metavar='ip_or_hostname', help='Listen on this address. default: 0.0.0.0', default='0.0.0.0')
143+
parser.add_argument('-port', required=False, metavar='port', type=int, help='Listen to this port. default: 6688', default=6688)
144+
parser.add_argument('-path', required=False, metavar='metrics_path', help='Path under which to expose metrics. default: /metrics', default='/metrics')
145145
return parser.parse_args()

‎hadoop_jmx_exporter.py‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/python
22
# -*- coding: utf-8 -*-
33

4+
import time
45
from prometheus_client import start_http_server
56
from prometheus_client.core import REGISTRY
67

@@ -16,15 +17,15 @@
1617

1718

1819
def register_prometheus(cluster, args):
19-
if args.nns is not None:
20+
if args.nns is not Noneandlen(args.nns) >0:
2021
REGISTRY.register(NameNodeMetricCollector(cluster, args.nns))
21-
if args.dns is not None:
22+
if args.dns is not Noneandlen(args.dns) >0:
2223
REGISTRY.register(DataNodeMetricCollector(cluster, args.dns))
23-
if args.jns is not None:
24+
if args.jns is not Noneandlen(args.jns) >0:
2425
REGISTRY.register(JournalNodeMetricCollector(cluster, args.jns))
25-
if args.rms is not None:
26+
if args.rms is not Noneandlen(args.rms) >0:
2627
REGISTRY.register(ResourceManagerMetricCollector(cluster, args.rms, args.queue))
27-
if args.nms is not None:
28+
if args.nms is not Noneandlen(args.nms) >0:
2829
REGISTRY.register(NodeManagerMetricCollector(cluster, args.nms))
2930

3031
def main():
@@ -34,7 +35,8 @@ def main():
3435
start_http_server(port, host)
3536
print "Listen at %s:%s" % (host, port)
3637
register_prometheus(args.cluster, args)
37-
raw_input("hang")
38+
while True:
39+
time.sleep(300)
3840

3941

4042
if __name__ == "__main__":

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /