2013-07-10 10 views
29

Vedo che ci sono molti modi in cui possiamo iniziare ecosistema Hadoop,Qual è il modo migliore per avviare e arrestare l'ecosistema hadoop, con la riga di comando?

  1. start-all.sh & stop-all.sh quali dicono che è sconsigliato l'uso 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: Penso che ci deve essere alcuni casi di utilizzo specifici per ogni comando.

+0

Vedere [questo] (http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_3.html) anche per CDH4 "* Servizi in esecuzione: quando si avvia, si arresta e si riavvia i componenti CDH, utilizzare sempre il comando service (8) anziché eseguire script direttamente in /etc/init.d. Questo è importante perché il servizio imposta la directory di lavoro corrente su/e rimuove la maggior parte delle variabili di ambiente (passando solo LANG e TERM) in modo da creare un ambiente prevedibile in cui amministrare il servizio * " –

+0

FYI Come novizio, su CDH5 e CentOS non riesco nemmeno a trovare gli script start */stop * .sh. Invece, il comando service, tramite /etc/init.d/ (es. 'Hadoop-hdfs-datanode'), chiama hadoop-daemon.sh start/stop (situato in/usr/lib/hadoop/sbin/sulla mia macchina). Quindi sembra che gli script ammortizzati siano stati completamente rimossi? –

+0

Seguito (perché non posso modificare?), Dalla fonte vedo gli script start */stop * .sh, che alla fine chiamano hadoop-daemons.sh. start-all.sh chiama semplicemente start-dfs.sh e start-yarn.sh. HTH altri neofiti. –

risposta

50

start-all.sh & stop-all.sh: Utilizzato per avviare e arrestare i daemon hadoop tutto in una volta. L'emissione sulla macchina master avvierà/interromperà i daemon su tutti i nodi di un cluster. Deprecato come hai già notato.

start-dfs.sh, stop-dfs.sh e start-yarn.sh, stop-yarn.sh: Idem come sopra, ma start/stop HDFS e filati demoni separatamente su tutti i nodi della macchina master . Si consiglia di utilizzare questi comandi ora oltre start-all.sh & stop-all.sh

hadoop-daemon.sh NameNode/DataNode e yarn-deamon.sh ResourceManager: Per avviare singoli daemon su una singola macchina manualmente. Devi andare in un nodo particolare ed emettere questi comandi.

Caso d'uso: Si supponga di aver aggiunto un nuovo DN al cluster ed è necessario avviare il demone DN solo su questa macchina,

bin/hadoop-daemon.sh start datanode 

Nota: Si dovrebbe avere ssh abilitato se si vuole avvia tutti i daemon su tutti i nodi da una macchina.

Spero che questo risponda alla tua richiesta.

+2

Bel modulo di risposta –

5

Da Hadoop page,

start-all.sh 

Questo avvio di un NameNode, DataNode, JobTracker e un TaskTracker sulla vostra macchina.

start-dfs.sh 

Questo farà apparire HDFS con il Namenode in esecuzione sulla macchina su cui è stato eseguito il comando. Su una macchina del genere si avrebbe bisogno start-mapred.sh per avviare separatamente il tracker lavoro

start-all.sh/stop-all.sh deve essere eseguito sul nodo maestro

Si potrebbe utilizzare start-all.sh su un grappolo nodo singolo (cioè dove si avrebbe tutti i servizi sullo stesso nodo. Il namenode è anche il datanode ed è il nodo principale).

In multi-nodo configurazione,

Si utilizzerà start-all.sh sul nodo master e dovrebbe iniziare a ciò che è necessario sulle schiavi pure.

In alternativa,

Usa start-dfs.sh sul nodo che si desidera che il NameNode per funzionare su. Verrà visualizzato HDFS con il Namenode in esecuzione sulla macchina su cui è stato eseguito il comando e Datanode sulle macchine elencate nel file slave.

Utilizzare start-mapred.sh sulla macchina che si intende eseguire il Jobtracker su. Questo farà apparire il Map/Reduce cluster con Jobtracker in esecuzione sul computer su cui è stato eseguito il comando e Tasktrackers in esecuzione su macchine elencate nel file slaves.

hadoop-daemon.sh come indicato da Tariq viene utilizzato su ogni singolo nodo. Il nodo principale non avvierà i servizi sugli slave. In una configurazione a nodo singolo ciò funzionerà come start-all.sh. In una configurazione a più nodi sarà necessario accedere a ciascun nodo (master e slave) ed eseguirli su ciascuno di essi .

Dai un'occhiata alla thisstart-all.sh si chiama config seguito da DFS e mapred

+0

Questo è giusto ... ma quello che mi interessa sono gli usi per tutti i diversi comandi. – twid

0

partire

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

Arresto

stop-dfs.sh 
stop-mapred.sh 
+0

Penso che ti sia sbagliato ho chiesto è qual è il modo migliore per iniziare e usecase per quello. Quello che hai menzionato anche io lo so ... – twid

Problemi correlati