#啓動hadoop分佈式系統(在namenode上運行) start-dfs.sh #輸入信息以下:
1。下面這句說明了當前這個命令的功能:啓動namenodenode
Starting namenodes on [namenode.hadoop.ymxx]
2。namenode反饋啓動信息,並告訴啓動namenode的日誌文件存放在哪裏shell
out改爲log便是對應的日誌文件,冒號 : 前面是目標節點(IP或者機器名),冒號 : 後面是目標節點的反饋信息分佈式
namenode.hadoop.ymxx: starting namenode, logging to /cluster/hadoop-2.2.0/logs/hadoop-root-namenode-namenode.hadoop.ymxx.out
3。datanode反饋啓動信息,一樣告訴啓動datanode的日誌存放在datanode節點上的哪一個目錄下(我這裏配置了四個datanode節點)oop
datanode4nodemanager.hadoop.ymxx: starting datanode, logging to /cluster/hadoop-2.2.0/logs/hadoop-root-datanode-datanode4nodemanager.hadoop.ymxx.out datanodenodemanager.hadoop.ymxx: starting datanode, logging to /cluster/hadoop-2.2.0/logs/hadoop-root-datanode-datanodenodemanager.hadoop.ymxx.out datanode2nodemanager.hadoop.ymxx: starting datanode, logging to /cluster/hadoop-2.2.0/logs/hadoop-root-datanode-datanode2nodemanager.hadoop.ymxx.out datanode3nodemanager.hadoop.ymxx: starting datanode, logging to /cluster/hadoop-2.2.0/logs/hadoop-root-datanode-datanode3nodemanager.hadoop.ymxx.out
4。啓動secondary namenodespa
Starting secondary namenodes [secondarynamenode.hadoop.ymxx]
5。seconary namenode反饋啓動信息,並告知日誌信息翻譯
secondarynamenode.hadoop.ymxx: starting secondarynamenode, logging to /cluster/hadoop-2.2.0/logs/hadoop-root-secondarynamenode-secondarynamenode.hadoop.ymxx.out
注:日誌
1。信息裏的日誌目錄是目標節點上的目錄,而不是namenode上的目錄code
2。能夠經過jps命令到目標機器上查看,對應的進程有無啓動(一般從啓動時控制檯打印的信息是看不出來有沒有啓動成功的,必須經過jps去查看有無相關進程)orm
3。若是發現沒有啓動,應該當即查看目標節點上的日誌文件,分析啓動失敗的緣由進程
4。這裏說明下,網上不少搭建hadoop分佈式計算平臺的例子都是將NameNode和ResoureManger放在同一臺機器上的,因此搭建好了以後,能夠在同一臺機器上運行start-dfs.sh和start-yarn.sh來啓動整個分佈式系統,這個作法給人一個錯覺彷彿start-dfs.sh,start-yarn.sh都在NameNode上執行了就好了,事實上這是錯誤的理解方式,start-dfs.sh應該在NameNode所在的機器上執行,而start-yarn.sh應該在ResourceManager所在的機器上執行,這個很重要。我被這個錯覺害的很慘,都怪本身沒有好好的看官方文檔,其實官方文檔裏說的很清楚:
#翻譯下就是:使用下面的命令啓動yarn,在被指定爲資源管理器的機器上使用yarn這個用戶運行 #唉,不看文檔,盲目跟風活受罪啊 Start the YARN with the following command, run on the designated ResourceManager as yarn: [yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start resourcemanager