2014-06-27 10 views
6

Stavo eseguendo alcuni test con mappatori di tabelle e riduttori su problemi su larga scala. Dopo un certo punto i miei riduttori hanno iniziato a fallire quando il lavoro è stato completato all'80%. Da quello che posso dire quando guardo i syslog il problema è che uno dei miei zookeeper sta tentando di connettersi all'host locale in contrapposizione agli altri zookeeper nel quorumZookeeper gestito da Hbase che tenta improvvisamente di connettersi a localhost invece del quorum zookeeper

Stranamente sembra fare semplicemente la connessione agli altri nodi quando la mappatura è in corso, riduce il problema con cui ha un problema. Qui sono selezionati porzioni del syslog che potrebbero essere rilevanti per capire cosa sta succedendo

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 

Sono abbastanza sicuro che la sua configurato correttamente, ecco la quota di competenza del mio HBase-site.xml.

<property> 
    <name>hbase.zookeeper.property.clientPort</name> 
    <value>5181</value> 
    <description>Property from ZooKeeper's config zoo.cfg. 
    The port at which the clients will connect. 
    </description> 
</property> 
<property> 
    <name>zookeeper.session.timeout</name> 
    <value>10000</value> 
    <description></description> 
</property> 
<property> 
    <name>hbase.client.retries.number</name> 
    <value>10</value> 
    <description></description> 
</property> 
<property> 
    <name>hbase.zookeeper.quorum</name> 
    <value>hdev01,hdev02,hdev03</value> 
    <description></description> 
</property> 

Per quanto posso dire hdev03 è l'unico server che ha qualche problema con questo. Netstating tutti i porti rilevanti non mi mostra nulla di strano.

risposta

2

Difficile dire cosa sta succedendo con le informazioni fornite. Ho trovato lo Stack Hadoop (in particolare HBase) abbastanza ostile anche al minimo errore di configurazione nel DNS o nel file hosts.

Come il quorum nel vostro HBase-site.xml sembra buono, mi piacerebbe avviare il controllo con le configurazioni relative/risoluzione del nome host di rete:

  • Ha il nome nodo scivolato nella voce localhost in/etc/hosts su hdev03?
  • C'è una voce per l'host stesso in hdev03s/etc/hosts (dovrebbe)?
  • Il DNS inverso è stato configurato correttamente nel caso in cui si utilizzi DNS per la risoluzione dei nomi anziché per il file host?

Questi sono solo alcuni indicatori nella direzione in cui guarderei con questo tipo di problema. Spero che sia d'aiuto!

3

Ho avuto lo stesso problema durante l'esecuzione di HBase tramite Spark on Yarn. Tutto andava bene fino a quando improvvisamente ha iniziato a provare a connettersi a localhost invece del quorum. Impostazione della porta e il quorum di programmazione prima HBase chiamata risolto il problema

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

sto usando MAPR, e ha "inusuale" la porta (5181) Zookeeper

0

Add '--driver-class-percorso ~/hbase-1.1.2/conf 'nel comando spark-submit, in modo che l'attività possa trovare i server zookeeper configurati anziché 127.0.0.1.

Problemi correlati