2013-07-10 61 views
29

我看到有幾個方面我們可以啓動的Hadoop生態系統,使用命令行啓動和停止hadoop生態系統的最佳方式是什麼?

  1. start-all.sh & stop-all.sh 哪個說這是不推薦使用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

編輯:我認爲必須有一些特定的使用情況爲每個命令。

+0

對於CDH4,請參見[this](http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_3.html)*運行服務:在啓動,停止和重新啓動CDH組件時,始終使用service(8)命令而不是直接在/etc/init.d中運行腳本,這很重要,因爲服務將當前工作目錄設置爲/並刪除大多數環境變量(僅傳遞LANG和TERM),以創建一個可預測的環境來管理服務*「 –

+0

僅供參考作爲新手,在CDH5和CentOS上,我甚至找不到啓動*/stop * .sh腳本。相反,服務命令通過/etc/init.d/(例如'hadoop-hdfs-datanode')調用hadoop-daemon.sh start/stop(位於我的機器上的/ usr/lib/hadoop/sbin /) )。所以它看起來像折舊的腳本現在已經完全刪除? –

+0

繼續(爲什麼我不能編輯?),從源代碼中我看到開始*/stop * .sh腳本,最終調用hadoop-daemons.sh。 start-all.sh只是調用start-dfs.sh和start-yarn.sh。 HTH等新手。 –

回答

50

start-all.sh & stop-all.sh:用於一次啓動和停止hadoop守護進程。在主機上發佈它將啓動/停止羣集中所有節點上的守護進程。如您已經注意到的那樣棄用。

start-dfs.sh,stop-dfs.sh和start-yarn.sh,stop-yarn.sh:同上,但來自主機的所有節點上分別啓動/停止HDFS和YARN守護進程。這是明智的,現在在start-all.sh & stop-all.sh使用這些命令

hadoop-daemon.sh的NameNode/DataNode會和yarn-deamon.sh的ResourceManager:爲個人計算機上啓動單獨的守護進程手動。您需要轉到特定節點併發出這些命令。

用例:假設您添加了一個新的DN到集羣,你需要啓動DN守護進程只在本機上,

bin/hadoop-daemon.sh start datanode 

注:您應該啓用SSH如果你想從一臺機器啓動所有節點上的所有守護進程。

希望這能回答您的查詢。

+2

好的答案形成 –

5

從Hadoop的page

start-all.sh 

這將啓動一個的Namenode,Datanode的,JobTracker的和你的機器上的TaskTracker。

start-dfs.sh 

這將啓動HDFS,並在運行該命令的計算機上運行Namenode。在這樣一臺機器,你需要start-mapred.sh分別啓動作業服務器

start-all.sh/stop-all.sh必須在主節點上運行

你將一個單個節點羣集上使用start-all.sh(即在這裏你將有所有的服務在同一個節點上。namenode也是datanode並且是主節點)。

多節點設置,

您將使用主節點上start-all.sh,並會開始什麼是對的奴隸必要的,也是。

另外,

使用start-dfs.sh的節點上你想要的的Namenode上運行。這將彈出HDFSNamenode在您運行命令的機器上運行,並且Datanodes在slave文件中列出的機器上。

在您計劃運行Jobtracker的機器上使用start-mapred.sh。這將啓動在運行命令的機器上運行Jobtracker的Map/Reduce羣集,並在從機文件中列出的機器上運行任務軌跡器

hadoop-daemon.sh如Tariq所述在每個單獨節點上使用。主節點不會啓動從站上的服務。在單個節點設置中,這將與start-all.sh相同。在多節點設置中,您必須訪問每個節點(主服務器和從服務器)並在其上執行每個節點。

看一看thisstart-all.sh調用它配置其次DFSmapred

+0

亞那是正確的..但是我感興趣的是所有不同命令的用例。 – twid

0

開始

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

停止

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

我想你錯了,我問是什麼是最好的方式來啓動和用例。你提到的,即使我知道... – twid

相關問題