BeoWurst Overview ganglia Cluster

wall < "Sammlung ätzender Fehlermeldungen (Hadoop und Ganglia)"

Broadcast message from spillerm@unixe.de (pts/1) (Di Sep 16 13:24:05 2008):
4
Diesen Beitrag schrieb ich vor 10 Jahren. Behalte das beim Lesen bitte im Hinterkopf.

Name node is in safe mode.

$ bin/hadoop dfs -mkdir test
mkdir: org.apache.hadoop.dfs.SafeModeException: Cannot create directory /user/spillerm/test.
Name node is in safe mode.

Zu dieser Meldung kommt es unmittelbar nach dem Start der benötigten Dienste. Weiteres Eingreifen ist hier nicht erforderlich — das Filesystem kommt nach einer Weile selbst aus dem SafeMode hoch und funktioniert dann regulär (im Webinterface ist auch der Hinweis »Safe mode is ON. Safe mode will be turned off automatically.« zu sehen).

data_thread() got no answer from any [xxx] datasource

Zu dieser Meldung kommt es, wenn der gmetad keinerlei Daten empfängt; das kann entweder daran liegen, dass auf keiner Maschine ein gmond gestartet ist oder aber daran, dass die Clients zwar laufen, die Multicast-Routen aber fehlerhaft sind und somit keine Kommunikation möglich ist.

fsockopen()

Warning: fsockopen() [function.fsockopen]: unable to connect to 127.0.0.1:8652 (Connection refused)
in /var/www/ganglia/ganglia.php on line 304
There was an error collecting ganglia data (127.0.0.1:8652): fsockopen error: Connection refused

Diese Meldung erscheint, wenn man versucht das Ganglia-Webinterface aufzurufen, der gmetad aber gar nicht läuft; ganz klar, dass da dann keine Verbindung aufgebaut werden kann. Prüfen lässt sich das auf der Maschine, auf der der gmetad laufen soll, beispielsweise wie folgt:

$ netstat -nlp | grep 8652

Ist Port 8652 nicht belegt, schafft das Starten des Dienstes Abhilfe. Die Ausgabe von netstat sieht danach in etwa so aus:

$ netstat -nlp | grep 8652
tcp        0      0 0.0.0.0:8652            0.0.0.0:*               LISTEN     30266/gmetad

not well-formed (invalid token)

/opt/local/sbin/gmetad[18283]: Process XML (testcluster01): XML_ParseBuffer() error at line 53: not well-formed (invalid token)

So schlimm diese Meldung aussieht, so harmlos ist sie eigentlich; in aller Regel hat sie ihren Ursprung durch einen Eintrag in der /etc/ganglia/gmond.conf:

cluster { 
  ... 
  owner = "Bla & Fasel GmbH & Co. KG" 
  ...
}

De facto kann gmond nicht mit dem & umgehen — eine Änderung zu „Bla and Fasel GmbH and Co. KG“ schaffte fix Abhilfe ;)

Unable to create tcp_accept_channel.

Beim Starten des gmond kann es hin und wieder zu nachfolgender Fehlermeldung kommen:

$ /opt/local/sbin/gmond --debug=9
loaded module: core_metrics
loaded module: cpu_module
loaded module: disk_module
loaded module: load_module
loaded module: mem_module
loaded module: net_module
loaded module: proc_module
loaded module: sys_module
udp_recv_channel mcast_join=224.0.0.0 mcast_if=NULL port=8649 bind=NULL
tcp_accept_channel bind=NULL port=8649
Unable to create tcp_accept_channel. Exiting.

Falls das passiert, so ist in erster Linie zu prüfen, ob der genannte Port (8649) durch etwas belegt ist; in aller Regel löst sich das Rätsel insofern, als dass schlicht und ergreifend bereits eine Instanz des gmond läuft:

$ netstat -nlp | grep 8649
tcp        0      0 0.0.0.0:8649                0.0.0.0:*                   LISTEN      31491/gmond         
udp        0      0 0.0.0.0:8649                0.0.0.0:*                               31491/gmond
4
  1. da hab ich noch einen ausm asterisk:
    Nice channel, I’ll take it: SIP/polycom

Keine weitere Reaktionen mehr möglich.