2015-02-23 4 views
1

Я хочу отслеживать кластер с несколькими узлами Hadoop (Hadoop версии-0.20.2) с использованием ганглиев. Мой Hadoop работает properly.I установило 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 ганглиев и 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 дает только системные показатели (память, диск и т. Д.) Для всех узлов. Но он не показывает показатели Hadoop (например, jvm, отображаемые показатели и т. Д.) В веб-интерфейсе. как я могу исправить эту проблему?

ответ

0

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

  1. GangliaContext31.java

  2. GangliaContext.java

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

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

0

Я работаю Hadoop с Ganglia, и да, я вижу на Ganglia множество показателей Hadoop (Containers, map task, vmem). Фактически, Hadoop конкретный отчет для Ganglio более ста метрик.

Для этого достаточно почты hokamblogs.

Я редактировать 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 и Гангли после изменения файлов.

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