Hadoop Namenode отправляет метрики FSNamesystem в графит с поврежденным путем метрики - PullRequest
0 голосов
/ 20 февраля 2019

Я использую следующую конфигурацию hadoop-metrics2.properties:

*.sink.graphite.class=org.apache.hadoop.metrics2.sink.GraphiteSink
*.period=10
namenode.sink.graphite.server_host=alex-monitoring
namenode.sink.graphite.server_port=2015
namenode.sink.graphite.metrics_prefix=prefix

Углерод получает все метрики, кроме метрик FSNamesystem, такие как CapacityUsed, CapacityUsed и т. Д. (Полностью описано здесь )

Я сбросил все tcp-запросы в carbon, и вот что у меня получилось:

<...>
prefix.dfs.FSNamesystem.Context=dfs.HAState=active.TotalSyncTimes=17 .Hostname=alex-hadoop1.TotalSyncCount 2 1550676511
prefix.dfs.FSNamesystem.Context=dfs.HAState=active.TotalSyncTimes=17 .Hostname=alex-hadoop1.NumInMaintenanceLiveDataNodes 0 1550676511
prefix.dfs.FSNamesystem.Context=dfs.HAState=active.TotalSyncTimes=17 .Hostname=alex-hadoop1.NumInMaintenanceDeadDataNodes 0 1550676511
<...>

Проблема здесь в пробелах: TotalSyncTimes=17 .Hostname= TotalSyncTimes должен быть явной метрикой, но этопоявляется в пути метрики со значением метрики после знака равенства, а также не отправляется / не принимается как отдельная метрика вообще (поскольку tcpdump не перехватывает пакеты с этой метрикой как нестандартная).

Этопроблема с GraphiteSink или Hadoop metric 2, как я могу это исправить?

...