web-dev-qa-db-fra.com

Est-il possible d'ajouter des nœuds à un cluster Hadoop en cours d'exécution?

Je joue avec Cloudera et je définit le nombre de clusters avant de commencer mon travail, puis je me sers du gestionnaire Cloudera pour s’assurer que tout fonctionne.

Je travaille sur un nouveau projet qui, au lieu d’utiliser hadoop, utilise des files de messages pour distribuer le travail, mais les résultats du travail sont stockés dans HBase. Je pourrais lancer 10 serveurs pour traiter le travail et le stocker sur Hbase, mais je me demande si j’ai décidé plus tard d’ajouter quelques nœuds de travail. Puis-je facilement (lire: programmable) les connecter automatiquement au cluster en cours d’exécution pour pouvoir les ajouter localement? clusters HBase/HDFS?

Est-ce possible et que devrais-je apprendre pour le faire?

14
user1735075

Voici la documentation pour ajouter un nœud à Hadoop et à HBase . En regardant la documentation, il n'est pas nécessaire de redémarrer le cluster. Un nœud peut être ajouté dynamiquement.

13
Praveen Sripati

Les étapes suivantes devraient vous aider à lancer le nouveau nœud dans le cluster en cours d'exécution.

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. 

Si vous ne souhaitez pas redémarrer les services sur le NN, ajoutez un nouveau nœud. Je dirais d'ajouter les noms à venir au fichier de configuration des esclaves. Ils signalent donc les nœuds de mise hors service/morts jusqu'à ce qu'ils soient disponibles. En suivant les étapes précédentes de DataNode. Encore une fois, ce n'est pas la meilleure pratique.

1
Chakri

Si je vous ai bien compris, vous coordonnez vous-même des ouvriers qui se connectent à HBase pour sauvegarder leurs données. vous pouvez en avoir autant que vous le souhaitez et ils peuvent se connecter à Hbase à mesure qu'ils sont ajoutés (tant qu'ils peuvent voir le quorum du gardien du zoo).

Si vous parlez d’augmenter le cluster Hadoop. Puisque vous utilisez déjà Cloudera, vous pouvez le faire via le cloudera Manager REST API ou le client Java mis en œuvre par quelqu'un

0
Arnon Rotem-Gal-Oz

Cela peut être fait sans redémarrer le cluster hadoop. Selon ce document , vous pouvez ajouter des nœuds dans le fichier includes et apporter des modifications aux fichiers hdfs-site.xml et mapred-site.xml. Des instructions détaillées sont données dans le ce document

0
Thanga