web-dev-qa-db-fra.com

Quelle est la meilleure façon de démarrer et d’arrêter l’écosystème hadoop avec la ligne de commande?

Je vois qu'il y a plusieurs façons de démarrer l'écosystème hadoop,

  1. start-all.sh & stop-all.sh Qui dit que c'est obsolète, utilisez start-dfs.sh & start-yarn.sh.

  2. start-dfs.sh, stop-dfs.sh and start-yarn.sh, stop-yarn.sh

  3. hadoop-daemon.sh namenode/datanode and yarn-deamon.sh resourcemanager

EDIT: Je pense qu'il doit y avoir des cas d'utilisation spécifiques pour chaque commande.

36
twid

start-all.sh & stop-all.sh: Utilisé pour démarrer et arrêter les démons hadoop en même temps. Son émission sur la machine principale va démarrer/arrêter les démons sur tous les nœuds d'un cluster. Obsolète, comme vous l'avez déjà remarqué.

start-dfs.sh, stop-dfs.sh et start-yarn.sh, stop-yarn.sh: Comme ci-dessus mais démarrez/arrêtez les démons HDFS et YARN séparément sur tous les nœuds du maître machine. Il est conseillé d'utiliser ces commandes maintenant sur start-all.sh & stop-all.sh

hadoop-daemon.sh namenode/datanode et yarn-deamon.sh resourcemanager: Pour démarrer manuellement des démons individuels sur une machine individuelle. Vous devez accéder à un nœud particulier et émettre ces commandes.

Cas d'utilisation: supposons que vous avez ajouté un nouveau DN à votre cluster et que vous devez démarrer le démon DN uniquement sur cette machine.

bin/hadoop-daemon.sh start datanode

Remarque: Vous devriez activer ssh si vous voulez démarrer tous les démons sur tous les nœuds d'une machine.

J'espère que cela répond à votre requête.

60
Tariq

De Hadoop page ,

start-all.sh 

Cela démarrera un Namenode, un Datanode, un Jobtracker et un Tasktracker sur votre machine.

start-dfs.sh

Cela fera apparaître HDFS avec le Namenode en cours d'exécution sur la machine sur laquelle vous avez exécuté la commande. Sur une telle machine, vous auriez besoin de start-mapred.sh pour démarrer séparément le suivi des travaux

start-all.sh/stop-all.sh _ doit être exécuté sur le noeud maître

Vous utiliseriez start-all.sh sur un cluster à nœud unique (c’est-à-dire où vous auriez tous les services sur le même nœud. Le namenode est également le datanode et est le nœud maître ).

Dans configuration multi-nœuds ,

Vous utiliserez start-all.sh sur le nœud maître et lance également ce qui est nécessaire sur les esclaves.

Alternativement

Utilisation start-dfs.sh sur le noeud sur lequel vous voulez que le Namenode soit exécuté. Cela affichera [~ # ~] hdfs [~ # ~] avec le Namenode exécuté sur la machine sur laquelle vous avez exécuté la commande et Datanodes sur les machines répertoriées dans le fichier esclaves.

Utilisation start-mapred.sh sur la machine sur laquelle vous prévoyez d'exécuter le Jobtracker. Cela fera apparaître le cluster Map/Reduce avec Jobtracker en cours d'exécution sur la machine sur laquelle vous avez exécuté la commande et Tasktrackers en cours d'exécution sur les machines répertoriées dans le fichier esclave.

hadoop-daemon.sh comme indiqué par Tariq est utilisé sur chaque noeud individuel. Le nœud maître ne démarrera pas les services sur les esclaves. Dans une configuration à nœud unique, il agira de la même manière que start-all.sh _ Dans une configuration multi-nœuds, vous devez accéder à chaque nœud (maître ainsi qu’esclaves) et l’exécuter sur chacun d’eux.

Regardez thisstart-all.sh il appelle config suivi de dfs et mapred

5
Suvarna Pattayil

démarrage

start-dfs.sh (starts the namenode and the datanode)
start-mapred.sh (starts the jobtracker and the tasktracker)

arrêt

stop-dfs.sh
stop-mapred.sh
0
dnivra