1. 程式人生 > >hadoop 2.2.0叢集安裝

hadoop 2.2.0叢集安裝

初啟動前,需要首先格式化叢集,執行命令:

hadoop namenode -format3.3 啟動hdfs執行:start-dfs.sh該命令可以任意結點上執行。不過需要注意的是如果配置檔案中沒有指明secondary namenode(即在hdfs-site.xml中沒有配置dfs.namenode.secondary.http-address),那麼在哪個結點上執行該命令,該點將自動成為secondary namenode.
以下單獨啟動某項服務的命令:

啟動namenode

hadoop-daemon.sh start namenode

啟動secondarynamenode

hadoop-daemon.sh start secondarynamenode

啟動datanodehadoop-daemon.sh start datanode啟動之後,訪問:http://YOUR-NAMENODE:50070檢查HDFS各結點情況,如都能訪問表示HDFS已無問題,如無法訪問或缺少節點,可分析log的中的資訊找出問題原因。3.4 啟動yarn執行:

start-yarn.sh

該命令可以任意結點上執行。其slaves結點與hdfs一樣,讀取的也是${HADOOP_HOME}/etc/hadoop/slaves檔案。

以下單獨啟動某項服務的命令:

啟動resourcemanager

yarn-daemon.sh start resourcemanager啟動nodemanageryarn-daemon.sh start nodemanager
啟動之後,訪問:http://YOUR-RESOURCE-MANAGER:8088檢查YARN各結點情況,如都能訪問表示YARN無問題,如無法訪問或缺少節點,可分析log的中的資訊找出問題原因。4. 常見錯誤4.1:Problem connecting to server: xxxx:9000在確認關閉了ipv6和防火牆之後,在namenode上使用

netstat -ntlp|grep 9000

檢查namenode服務埠的分配(特別是 local address和foreign address),確定是否存在配置上的問題,如有沒有正確配置/etc/hosts4.2:libhadoop.so.1.0.0 which might have disabled stack guard
在使用./sbin/start-dfs.sh或./sbin/start-all.sh啟動時會報出這樣如下警告:Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/local/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.....Java: ssh: Could not resolve hostname Java: Name or service not knownHotSpot(TM): ssh: Could not resolve hostname HotSpot(TM): Name or service not known64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known....這個問題的錯誤原因會發生在64位的作業系統上,原因是從官方下載的hadoop使用的本地庫檔案(例如lib/native/libhadoop.so.1.0.0)都是基於32位編譯的,執行在64位系統上就會出現上述錯誤。解決方法之一是在64位系統上重新編譯hadoop,另一種方法是在hadoop-env.sh和yarn-env.sh中新增如下兩行:

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"

4.3:Error: JAVA_HOME is not set and could not be found.
雖然你已經在各個節點上正確的配置了JAVA_HOME,但是啟動時還是可能會報出上述錯誤,從etc/hadoop/hadoop-env.sh檔案關於第一行配置:export JAVA_HOME=${JAVA_HOME}的註釋上來看,對於一個分散式叢集,這裡JAVA_HOME最好顯式地指明而不要使用預設的${JAVA_HOME}。對於etc/hadoop/yarn-env.sh也是如此!