Мониторинг многоузлового кластера Hadoop от Ganglia

Я хочу контролировать кластер Hadoop (Hadoop version-0.20.2) с использованием ganglia. Мой Hadoop работает правильно. Я установил Ganglia после прочтения следующих блогов ---

http://hakunamapdata.com/ganglia-configuration-for-a-small-hadoop-cluster-and-some-troubleshooting/

http://hokamblogs.blogspot.in/2013/06/ganglia-overview-and-installation-on.html

Я также изучал мониторинг с помощью Ganglia.pdf(ПРИЛОЖЕНИЕ B Ganglia и Hadoop/HBase).

I have modified only the  following lines in **Hadoop-metrics.properties**(same on all Hadoop Nodes)==>



// Configuration of the "dfs" context for ganglia
 dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext
 dfs.period=10
 dfs.servers=192.168.1.182:8649

// Configuration of the "mapred" context for ganglia
mapred.class=org.apache.hadoop.metrics.ganglia.GangliaContext
mapred.period=10
mapred.servers=192.168.1.182:8649:8649


// Configuration of the "jvm" context for ganglia
 jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
 jvm.period=10
 jvm.servers=192.168.1.182:8649


 **gmetad.conf** (Only on Hadoop master Node )


data_source "Hadoop-slaves" 5 192.168.1.182:8649
RRAs "RRA:AVERAGE:0.5:1:302400" //Because i want  to analyse one week data.



 **gmond.conf** (on all the Hadoop Slave nodes and Hadoop Master)

globals {
  daemonize = yes
  setuid = yes
  user = ganglia
  debug_level = 0
  max_udp_msg_len = 1472
  mute = no
  deaf = no
  allow_extra_data = yes
  host_dmax = 0 /*secs */
  cleanup_threshold = 300 /*secs */
  gexec = no
  send_metadata_interval = 0
}

cluster {
  name = "Hadoop-slaves"
  owner = "Sandeep Priyank"
  latlong = "unspecified"
  url = "unspecified"
}

/* The host section describes attributes of the host, like the location */
host {
  location = "CASL"
}

/* Feel free to specify as many udp_send_channels as you like.  Gmond
   used to only support having a single channel */
udp_send_channel {
  host = 192.168.1.182
  port = 8649
  ttl = 1
}
/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
  port = 8649

}

/* You can specify as many tcp_accept_channels as you like to share
   an xml description of the state of the cluster */
tcp_accept_channel {
  port = 8649
 }

Теперь Ganglia предоставляет системные метрики (mem, disk и т. Д.) Только для всех узлов. Но он не отображает метрики Hadoop (такие как jvm, метрики mapred и т. Д.) В веб-интерфейсе. как я могу решить эту проблему?

2 ответа

Решение

Спасибо всем, если вы используете старую версию Hadoop, поместите следующие файлы (из новой версии Hadoop) ==>

  1. GangliaContext31.java

  2. GangliaContext.java

В пути ==> hadoop/src/core/org/apache/hadoop/metrics/ganglia Из новой версии Hadoop.

Скомпилируйте ваш Hadoop с помощью ant (и установите правильный прокси во время компиляции). Если он выдает ошибку, например определение функции отсутствует, поместите определение этой функции (из новой версии) в соответствующий файл Java, а затем снова скомпилируйте Hadoop. Это будет работать.

Я работаю в Hadoop с Ganglia, и да, я вижу в Ganglia множество метрик Hadoop (Контейнеры, задача карты, vmem). На самом деле, специфический Hadoop сообщает Ganglio более сотни метрик.

Поста Хокамблога было достаточно для этого.

Я редактирую hadoop-metrics2.properties на главном узле, а содержимое:

namenode.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
namenode.sink.ganglia.period=10
namenode.sink.ganglia.servers=gmetad_hostname_or_ip:8649

resourcemanager.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
resourcemanager.sink.ganglia.period=10
resourcemanager.sink.ganglia.servers=gmetad_hostname_or_ip:8649

и я также редактирую те же файлы на рабах:

datanode.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
datanode.sink.ganglia.period=10
datanode.sink.ganglia.servers=gmetad_hostname_or_ip:8649

nodemanager.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
nodemanager.sink.ganglia.period=10
nodemanager.sink.ganglia.servers=gmetad_hostname_or_ip:8649

Помните, перезапустите Hadoop и Ganglia после изменения файлов.

Я надеюсь, что это поможет вам.

Другие вопросы по тегам