版本及準備
我部署的是hadoop-2.0.0-cdh4.2.0.tar.gz,下載下傳位址為http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.2.0.tar.gz。在http://archive.cloudera.com/cdh4/cdh/4/下還可以下載下傳到cdh
hadoop生态圈内相關的包。再準備一個jdk1.6+的java環境,設定好java_home。
需要注意的是,window下直接點選連結下載下傳到的包可能無法解壓成功,原因是包是放在linux ftp上的,直接下載下傳會有問題。建議在linux機器上用wget指令下載下傳就可以了,如果你的機器不能聯網的話,也可以聯系我把包發給你。
基礎配置
給叢集配好 ssh;在hosts裡可以準備好自己機器的名字。比如我的機器1作為namenode(namenode01),機器2作為secondary namenode(snamenode01),其他機器作為datanode。以下配置檔案裡就用該名稱代替。
配置檔案
tar包的部署方式隻要具備cdh4的包就可以了,其餘步驟不需聯網,隻要配置好幾個配置檔案即可。我提供一份自己的配置,可以完全拷貝下來使用。進入到目錄hadoop-2.0.0-cdh4.2.0/etc/hadoop下面,修改這幾個檔案:
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
masters
slaves
最後修改.bashrc裡的一些環境,添加如下配置
source之使之生效。然後把這台機器上的hadoop scp到其他各台機器上
啟動叢集
hadoop_home/bin下,第一次格式化namenode
然後在namenode機器上逐個啟動
可以使用jps指令在各台機器上檢視已經起來的程序和端口,在 namenode01:8088/cluster 可以看叢集情況。 datanode01:8042/node 可以看到節點情況。
問題排查
如果某幾個節點沒有起來,很可能是因為端口占用的問題,比如yarn啟動的時候會使用8080端口,如果被占用,該datanode就起不了了,可以使用
找到id,然後kill -9 xxx 掉。
一般可以在指定的hadoop_home/logs下檢視各個機器的日志情況,找到問題原因。
(全文完)