2014-06-27 7 views
6

Ich habe einige Tests mit Table Mappern und Reducern bei großen Problemen durchgeführt. Ab einem bestimmten Punkt begannen meine Reduzierungen zu versagen, als der Job zu 80% erledigt war. Von dem, was ich feststellen kann, wenn ich auf die Syslogs schaue, ist das Problem, dass einer meiner Tierpfleger versucht, eine Verbindung zu dem lokalen Host im Gegensatz zu den anderen Tierpfleger im Quorum herzustellen Wenn das Mapping läuft, reduziert es, dass es ein Problem damit hat. Hier werden ausgewählte Teile des syslog, die herauszufinden, relevant sein könnten, was losHbase-verwalteter Tierpfleger versucht plötzlich, sich mit localhost zu verbinden statt zoekeeper-Quorum

2014-06-27 09:44:01,599 INFO [main] org.apache.zookeeper.ZooKeeper: Initiating client connection, connectString=hdev02:5181,hdev01:5181,hdev03:5181 sessionTimeout=10000 watcher=hconnection-0x4aee260b, quorum=hdev02:5181,hdev01:5181,hdev03:5181, baseZNode=/hbase 
2014-06-27 09:44:01,612 INFO [main] org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Process identifier=hconnection-0x4aee260b connecting to ZooKeeper ensemble=hdev02:5181,hdev01:5181,hdev03:5181 
2014-06-27 09:44:01,614 INFO [main-SendThread(hdev02:5181)] org.apache.zookeeper.ClientCnxn: Opening socket connection to server hdev02/172.17.43.36:5181. Will not attempt to authenticate using SASL (Unable to locate a login configuration) 
2014-06-27 09:44:01,615 INFO [main-SendThread(hdev02:5181)] org.apache.zookeeper.ClientCnxn: Socket connection established to hdev02/172.17.43.36:5181, initiating session 
2014-06-27 09:44:01,617 INFO [main-SendThread(hdev02:5181)] org.apache.zookeeper.ClientCnxn: Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing socket connection and attempting reconnect 
2014-06-27 09:44:01,723 WARN [main] org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper, quorum=hdev02:5181,hdev01:5181,hdev03:5181, exception=org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid 
2014-06-27 09:44:01,723 INFO [main] org.apache.hadoop.hbase.util.RetryCounter: Sleeping 
*** 
org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl: finalMerge called with 1 in-memory map-outputs and 1 on-disk map-outputs 
2014-06-27 09:55:12,012 INFO [main] org.apache.hadoop.mapred.Merger: Merging 1 sorted segments 
2014-06-27 09:55:12,013 INFO [main] org.apache.hadoop.mapred.Merger: Down to the last merge-pass, with 1 segments left of total size: 33206049 bytes 
2014-06-27 09:55:12,208 INFO [main] org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl: Merged 1 segments, 33206079 bytes to disk to satisfy reduce memory limit 
2014-06-27 09:55:12,209 INFO [main] org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl: Merging 2 files, 265119413 bytes from disk 
2014-06-27 09:55:12,209 INFO [main] org.apache.hadoop.mapreduce.task.reduce.MergeManagerImpl: Merging 0 segments, 0 bytes from memory into reduce 
2014-06-27 09:55:12,210 INFO [main] org.apache.hadoop.mapred.Merger: Merging 2 sorted segments 
2014-06-27 09:55:12,212 INFO [main] org.apache.hadoop.mapred.Merger: Down to the last merge-pass, with 2 segments left of total size: 265119345 bytes 
2014-06-27 09:55:12,279 INFO [main] org.apache.zookeeper.ZooKeeper: Initiating client connection, connectString=localhost:2181 sessionTimeout=90000 watcher=hconnection-0x65afdbbb, quorum=localhost:2181, baseZNode=/hbase 
2014-06-27 09:55:12,281 INFO [main] org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Process identifier=hconnection-0x65afdbbb connecting to ZooKeeper ensemble=localhost:2181 
2014-06-27 09:55:12,282 INFO [main-SendThread(localhost.localdomain:2181)] org.apache.zookeeper.ClientCnxn: Opening socket connection to server localhost.localdomain/127.0.0.1:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration) 
2014-06-27 09:55:12,283 WARN [main-SendThread(localhost.localdomain:2181)] org.apache.zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599) 
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068) 
2014-06-27 09:55:12,384 WARN [main] org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper, quorum=localhost:2181, exception=org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid 
2014-06-27 09:55:12,384 INFO [main] org.apache.hadoop.hbase.util.RetryCounter: Sleeping 1000ms before retry #0... 
2014-06-27 09:55:13,385 INFO [main-SendThread(localhost.localdomain:2181)] org.apache.zookeeper.ClientCnxn: Opening socket connection to server localhost.localdomain/127.0.0.1:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration) 
2014-06-27 09:55:13,385 WARN [main-SendThread(localhost.localdomain:2181)] org.apache.zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing 
*** 
org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: Possibly transient ZooKeeper, quorum=localhost:2181, exception=org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid 
2014-06-27 09:55:13,486 ERROR [main] org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 1 attempts 
2014-06-27 09:55:13,486 WARN [main] org.apache.hadoop.hbase.zookeeper.ZKUtil: hconnection-0x65afdbbb, quorum=localhost:2181, baseZNode=/hbase Unable to set watcher on znode (/hbase/hbaseid) 
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid 

Ich bin mir ziemlich sicher, dass seine richtig konfiguriert ist, hier ist der relevante Teil meiner hbase-site.xml.

Soweit ich sagen kann, ist hdev03 der einzige Server, der ein Problem damit hat. Netstating alle relevanten Ports zeigt mir nichts seltsam.

Antwort

2

Schwer zu sagen, was mit den gegebenen Informationen passiert. Ich habe festgestellt, dass der Hadoop-Stack (vor allem HBase) selbst der kleinsten Fehlkonfiguration in DNS oder der hosts-Datei ziemlich feindlich gegenübersteht.

Da das Quorum in Ihrem hbase-site.xml gut aussieht, würde ich mit Netzwerk/Host-Namen Auflösung bezogene Konfigurationen Überprüfung starten:

  • Hat der nodename in den Eintrag localhost schlüpfte in/etc/hosts auf hdev03?
  • Gibt es einen Eintrag für den Host selbst in hdev03s/etc/hosts (sollte es)?
  • Wurde Reverse DNS korrekt konfiguriert, wenn Sie DNS anstelle der Hosts-Datei für die Namensauflösung verwenden?

Dies sind nur ein paar Hinweise in die Richtung, die ich mit dieser Art von Problem aussehen würde. Ich hoffe es hilft!

3

Ich hatte das gleiche Problem beim Ausführen von HBase durch Spark on Yarn. Alles war in Ordnung, bis es plötzlich versuchte, sich mit localhost zu verbinden, statt mit dem Quorum. Einstellen Port und Quorum programmatisch vor HBase Anruf das Problem behoben

conf.set("hbase.zookeeper.quorum","my.server") 
conf.set("hbase.zookeeper.property.clientPort","5181") 

ich MapR bin mit, und es hat "ungewöhnlich" (5181) zookeeper Port

0

Add ‚--driver-Klasse-Pfad ~/hbase-1.1.2/conf 'in den Befehl "spark-submit", damit die Task statt 127.0.0.1 die konfigurierten zokeeper-Server finden kann.

Verwandte Themen