2012-10-31 16 views
12

Ho giocato con Cloudera e definisco il numero di cluster prima di iniziare il mio lavoro, quindi uso il cloudera manager per assicurarmi che tutto sia in esecuzione.C'è un modo per aggiungere nodi a un cluster Hadoop in esecuzione?

Sto lavorando a un nuovo progetto che invece di usare hadoop utilizza code di messaggi per distribuire il lavoro ma i risultati del lavoro sono memorizzati in HBase. Potrei avviare 10 server per elaborare il lavoro e archiviarlo in Hbase ma mi chiedo se in seguito avessi deciso di aggiungere altri nodi worker posso facilmente (leggi: programmabile) farli collegarsi automaticamente al cluster in esecuzione in modo che possano aggiungere localmente ai cluster HBase/HDFS?

È possibile e cosa dovrei imparare per farlo?

risposta

9

Questa è la documentazione per l'aggiunta di un nodo a Hadoop e per HBase. Guardando la documentazione, non è necessario riavviare il cluster. Un nodo può essere aggiunto dinamicamente.

+1

Devo aggiornare i file slave su tutti i nodi o solo sul NameNode? – Tariq

+0

Devo aggiornare anche i file/etc/hosts su tutti i nodi o è anche solo per NameNodes? – Tariq

0

Se ho capito bene, hai lavoratori coordinati da te che si connettono a HBase per salvare i loro dati. puoi avere quanti ne hai bisogno e possono connettersi a Hbase man mano che vengono aggiunti (a patto che possano vedere il quorum degli spettatori).

Se si parla di aumentare il cluster Hadoop. Poiché utilizzi già Cloudera, puoi farlo tramite lo cloudera Manager REST API o lo Java client someone implemented for it

1

I seguenti passaggi dovrebbero aiutarti a lanciare il nuovo nodo nel cluster in esecuzione.

1> Update the /etc/hadoop/conf/slaves list with the new node-name 
2> Sync the full configuration /etc/hadoop/conf to the new datanode from the Namenode. If the file system isn't shared. 
2> Restart all the hadoop services on Namenode/Tasktracker and all the services on the new Datanode. 
3> Verify the new datanode from the browser http://namenode:50070 
4> Run the balancer script to readjust the data between the nodes. 

Se non si desidera riavviare i servizi sul NN, quando si aggiunge un nuovo nodo. Direi di aggiungere i nomi al file di configurazione degli schiavi. Quindi segnalano come disimpegno/nodi morti finché non sono disponibili. Seguendo il suddetto DataNode solo passi. Anche questa non è la migliore pratica.

+0

Grazie per la tua risposta, potresti aggiornare la tua risposta per Hadoop 2.5.2, dato che non esiste una cartella conf in 2.5.2 – Tariq

0

Può essere eseguito senza riavviare il cluster hadoop. In base a questo document, è possibile aggiungere nodi nel file include e apportare alcune modifiche nei file hdfs-site.xml e mapred-site.xml, è possibile ottenere ciò. Istruzioni dettagliate sono fornite nello this document

Problemi correlati