2019-04-04 13:37:54 +00:00
|
|
|
# hbase-exporter
|
|
|
|
|
|
|
|
## An HBase Prometheus Exporter
|
|
|
|
|
|
|
|
Relays JMX metrics for consumption by Prometheus
|
|
|
|
|
|
|
|
The exporter parses the (Hortonworks) Hadoop config and uses (Hortonworks)
|
|
|
|
Hadoop internal tooling to determine e.g. the currently active master
|
|
|
|
so that it can run in different environments without requiring any configuration
|
|
|
|
|
|
|
|
Those tools are not yet included when building the app as a container!
|
|
|
|
|
2019-04-10 12:49:46 +00:00
|
|
|
Since some important metrics are missing or empty in JMX, we additionally parse the HBase Master UI
|
2019-04-04 13:37:54 +00:00
|
|
|
for e.g. 'Stale regions in transition'
|
|
|
|
|
2019-04-10 12:49:46 +00:00
|
|
|
The hbase hbck log is parsed to check for inconsistencies in HBase.
|
|
|
|
The log is created independently from the exporter with the help of
|
|
|
|
a systemd-timer unit and a systemd-hbck-service unit
|
2019-04-04 13:37:54 +00:00
|
|
|
|
2019-04-10 12:49:46 +00:00
|
|
|
Unfortunately querying the active namenode requires superuser privileges
|
2019-04-04 13:37:54 +00:00
|
|
|
|
2019-04-10 12:49:46 +00:00
|
|
|
For python module requirements see requirements.txt
|
|
|
|
or execute the commands outlined below
|
2019-04-04 13:37:54 +00:00
|
|
|
|
|
|
|
```sh
|
|
|
|
$ sudo dnf/yum install python36
|
|
|
|
```
|
|
|
|
|
|
|
|
```sh
|
|
|
|
# As the user executing the exporter:
|
2019-04-15 15:20:52 +00:00
|
|
|
$ pip3[.6] install --user beautifulsoup4 flatten_json kazoo prometheus_client requests
|
2019-04-04 13:37:54 +00:00
|
|
|
```
|