2012-10-31 15 views
12

Ich habe mit Cloudera gespielt, und ich definiere die Anzahl der Cluster, bevor ich meine Arbeit starte, dann benutze den Cloudera Manager, um sicherzustellen, dass alles läuft.Gibt es eine Möglichkeit, einem laufenden Hadoop-Cluster Knoten hinzuzufügen?

Ich arbeite an einem neuen Projekt, das anstelle von Hadoop Message Queues verwendet, um die Arbeit zu verteilen, aber die Ergebnisse der Arbeit werden in HBase gespeichert. Ich könnte 10 Server starten, um den Job zu verarbeiten und auf Hbase zu speichern, aber ich frage mich, ob ich später noch ein paar weitere Worker-Knoten hinzufügen möchte, damit sie sich automatisch mit dem laufenden Cluster verbinden können, damit sie lokal hinzufügen können Clustern HBase/HDFS?

Ist das möglich und was müsste ich lernen, um es zu tun?

Antwort

9

Hier finden Sie die Dokumentation zum Hinzufügen eines Knotens zu Hadoop und HBase. Wenn Sie die Dokumentation betrachten, müssen Sie den Cluster nicht neu starten. Ein Knoten kann dynamisch hinzugefügt werden.

+1

Muss ich Slave-Dateien auf allen Knoten oder nur auf dem NameNode aktualisieren? – Tariq

+0

Muss ich/etc/hosts-Dateien auch auf allen Knoten aktualisieren oder ist es auch nur für NameNodes? – Tariq

0

Wenn ich Sie richtig verstehe, haben Sie Mitarbeiter, die Sie selbst koordinieren, die sich mit HBase verbinden, um ihre Daten zu speichern. Sie können so viele von ihnen haben, wie Sie benötigen, und sie können sich mit Hbase verbinden, wenn sie hinzugefügt werden (solange sie das Quorum des Zoowärters sehen können).

Wenn Sie über die Erhöhung des Hadoop-Clusters sprechen. Da Sie Cloudera bereits verwenden, können Sie dies über die cloudera Manager REST API oder die Java client someone implemented for it

1

tun. Die folgenden Schritte sollten Ihnen helfen, den neuen Knoten in den laufenden Cluster zu starten.

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. 

Wenn Sie die Dienste auf dem NN nicht neu starten möchten, wenn Sie einen neuen Knoten hinzufügen. Ich würde sagen, fügen Sie die Namen voraus, um die Slave-Konfigurationsdatei. Daher melden sie sich als stillgelegte/tote Knoten, bis sie verfügbar sind. Nach den obigen DataNode nur Schritte. Auch dies ist nicht die beste Praxis.

+0

Vielen Dank für Ihre Antwort, Könnten Sie bitte Ihre Antwort für Hadoop 2.5.2 aktualisieren, da es in 2.5.2 keinen Ordner conf gibt – Tariq

0

Dies kann ohne Neustart des Hadoop-Clusters erfolgen. Gemäß dieser document, können Sie Knoten in der Include-Datei hinzufügen und einige Änderungen in den Dateien hdfs-site.xml und mapred-site.xml vornehmen, können Sie dies erreichen. Detaillierte Anweisungen finden Sie in der this document

Verwandte Themen