實施hadoop大集羣(一)

本文從雲計算的實際項目中總結,具有很好的參考價值;

1,hadoop大集羣的設備選取:

普通pc就可以了,硬盤足夠大,多塊硬盤就可以;CPU只要四核以上;專門的存儲是不需要的;實施hadoop集羣的指導思想,我們用廉價的PC集羣來代替高大上的小型機和存儲;

2,用虛擬機部署,設備需要從下面指標考量

如果用虛擬機部署的話,內存要足夠大,如果機器有很多CPU,利用虛擬機可以充分利用CPU的效率;虛擬機最好不要共用同一個物理硬盤,共用同一個物理硬盤很容易IO衝突;多個物理硬盤可以降低IO衝突;當然,還要考慮IO通道的問題;硬盤的個數,性能(包括傳輸速度,緩存,轉速),IO通道的個數和速度都是應該考慮的指標;

3,在hadoop集羣中名字解析的考慮,使用dns或者hosts文件:

在規模較小的集羣中可以直接使用hosts文件解析;在大規模的集羣中我們採用DNS解析域名;linux下可以用bind建立DNS;安裝好bind後, 在/etc/resolve.conf中添加nameserver;

[root@rhmn ~]# cat /etc/resolv.conf
nameserver 12.1.0.1

使用nslookup測試DNS:

[root@rhmn ~]# nslookup
> www.baidu.com
Server:         12.1.0.1
Address:        12.1.0.1#53

Non-authoritative answer:
www.baidu.com   canonical name = www.a.shifen.com.
Name:   www.a.shifen.com
Address: 115.239.210.27
Name:   www.a.shifen.com
Address: 115.239.210.26
>

4,建立免密碼登陸;ssh 免密碼登陸;

把~/.ssh/下面的公鑰追加到對應機器的~/.ssh/authorized_keys中;

如果沒有公鑰,使用ssh-keygen生成

5,把hadoop目錄整體複製到其他節點, 命令:

scp -rp ./hadoop hadoop@vm2:/home/hadoop

如果在大規模的環境下用腳本統一把hadoop目錄拷貝到每個節點,例如向vm1-vm8的slave節點上拷貝hadoop文件夾:

創建文件包括vm1-vm8:

[root@rhmn ~]#cat slaves

vm1

vm2

vm3

vm4

vm5

vm6

vm7

vm8

生成腳本,拷貝hadoop目錄:

cat slaves|awk '{print "scp -rp ./hadoop hadoop@"$1":/home/hadoop"}' > ./test.sh

chmod 755 ./test.sh

sh ./test.sh

或者是:

for i in `cat slaves`;do scp -rp ./hadoop hadoop@$i:/home/hadoop;  done

6,分佈式模式的安裝的整個過程:

配置域名解析,DNS或者/etc/hosts

建立hadoop運行賬號

java環境的搭建;

配置ssh免密碼登陸

下載並解壓hadoop安裝包

配置namenode,修改site文件

配置hadoop-env.sh文件

配置master和slaves文件

向各個節點複製hadoop文件夾

在namenode上格式化namenode

啓動hadoop

用JPS檢驗進程是否成功啓動

 

發佈了24 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章