Hive / HBase-Integration - Die Zookeeper-Sitzung wird sofort geschlossen

8

Wir haben einen 8-Knoten-Cluster mit CDH3u2, der mit Cloudera Manager konfiguriert wurde. Wir haben einen dedizierten Hauptknoten, der unsere einzige Instanz des Tierpflegers ausführt. Wenn ich die Hive konfiguriere, um den lokalen Hadoop auszuführen, der vom Master-Knoten ausgeführt wird, habe ich kein Problem, die Daten von HBase erneut zu empfangen. Wenn ich verteilte Karten / Reduce über die Struktur ausführe, erhalte ich den folgenden Fehler, wenn die Slave-Knoten eine Verbindung zu zookee herstellen.

HBase kann sich mit ZooKeeper verbinden, aber die Verbindung wird sofort geschlossen. Dies könnte ein Zeichen dafür sein, dass der Server zu viele Verbindungen hat (30 ist der Standardwert).

Wir haben versucht, die maximalen Verbindungen höher zu setzen (wir haben sogar versucht, das Limit zu entfernen). Dies ist ein Entwicklungscluster, der sehr wenige Benutzer hat. Ich weiß, dass das Problem nicht darin besteht, dass es zu viele Verbindungen gibt (ich kann eine Verbindung zu zookee von den Slave-Knoten mit ./zkCli herstellen).

Serverseitige Protokolle zeigen an, dass die Sitzung vom Client beendet wurde.

Clientseitige Hadoop-Protokolldatei sagt: 'Veranlasst von: org.apache.zookeeper.KeeperException $ ConnectionLossException: KeeperErrorCode = Verbindungsverlust für / hbase

Irgendeine Idee, warum ich eine Verbindung zum Tierpfleger über Hive Map / Reduce nicht aufrechterhalten kann?

Configs für hbase und zookeeper sind:

%Vor%

HBase Site-XML ist:

%Vor%

    

    
Joseph McCullough 03.02.2012, 21:33
quelle

3 Antworten

5

Stellt sich heraus, dass die Map / Reduce von Hive versucht, eine Verbindung zum Tierpfleger bei "localhost" herzustellen, unabhängig davon, wie der zookeeper.quorom in der Konfigurationsdatei eingerichtet ist. Ich habe / etc / hosts geändert, um auf den Alias ​​'localhost' auf die IP meines Master-Knotens zu zeigen und die Verbindung zum zookeeper wird beibehalten. Ich suche immer noch nach einer besseren Auflösung, aber das wird jetzt funktionieren.

    
Joseph McCullough 13.02.2012 14:02
quelle
3

Ich habe es herausgefunden. Es war ein Konfigurationsproblem (wie ich schon immer vermutet hatte). Die Lösung war:

-set "hbase.zookeeper.quorum" innerhalb der 'hive-site.xml' und legen Sie es im Verzeichnis 'hadoop-conf'

Was mich abwarf war, dass es in der hive-default.xml kein hbase .zookekeeper.quorum hive .zookeke.quorum' gespielt, was nicht die richtige Konfiguration war, die geändert werden musste.

    
Joseph McCullough 03.04.2012 16:02
quelle
1

Es tut mir leid, dass ich eine neue Antwort gepostet habe. Ich wollte die vorherige Antwort kommentieren, aber die kommentierende Benutzeroberfläche scheint verschwunden zu sein & gt;. & Lt; ...

Wie auch immer, ich wollte sagen, dass ich das gleiche Problem habe, und es wird gelöst, indem ich den / etc / hosts hack mache, aber das scheint eine sehr schmutzige Lösung zu sein ...

Hat jemand einen Weg gefunden, das sauber zu machen ... ??

Danke :)!

    
Felix GV 26.03.2012 22:50
quelle