天天看點

十分鐘搭建自己的hadoop2/CDH4叢集

版本及準備

我部署的是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下檢視各個機器的日志情況,找到問題原因。

(全文完)