網上搭建Hadoop + Zookeeper + HBase平台的文章可以說是鋪天蓋地的,非常的多,在這裡就把自己配置這個平台時候留下的一個非常基礎的文檔發出來,供大家指點學習,有問題歡迎大家提出。
先從最基本的配置Hadoop平台開始。
l 首先配置主機名稱和ip地址、還有主機名稱與ip地址對應的hosts檔案。
最終配置成的節點的ip地址分布如下:
機器名稱 |
IP地址 |
Master.Hadoop |
192.168.117.122 |
Slave1.Hadoop |
192.168.117.121 |
Slave2.Hadoop |
192.168.117.120 |
1. 查看當前的主機名稱:
2. 修改當前主機的名稱:
之前有文檔時用命令:hostname。
發現reboot之後的效果
原來用hostname修改主機名稱只是適用於本次操作。如果reboot之後主機名稱會恢複成 /etc/sysyconfig/network中的HOSTNAME的值。
修改主機名稱繼續。修改主機名稱需要切換到root使用者,普通使用者是無法修改/etc檔案夾裡面的檔案的。修改之後不能儲存,提示為唯讀。
切換使用者。重新修改HOSTNAME值,然後reboot主機就可以永久的修改主機名稱了。
3. 修改當前主機的ip地址
Ip地址資訊儲存在 /etc/sysconfig/network-scripts檔案夾下,需要對ifcfg-eth0檔案進行配置。:
修改完畢之後可以用ifconfig命令查看。
此處不再切圖,查看一下就ok。
4. 配置hosts檔案
/etc/hosts 這個檔案時用來配置主機將要用到的DNS伺服器資訊的。使用者串連叢集內的主機名稱的時候,查看該主機名稱對應的IP地址。
在/etc/hosts中添加下列的資訊,並且其他的兩個主機也要這樣配置。
192.168.117.122 |
Master.Hadoop |
192.168.117.121 |
Slave1.Hadoop |
192.168.117.120 |
Slave2.Hadoop |
修改master節點的情況如下:
測試結果:
說明配置成功。
5. 把上面的1-4的配置以同樣的方式配置到Slave1.Hadoop和Slave2.Hadoop兩個節點中去
l 所需要的軟體
1. JDK軟體
JDK版本:jdk-7u45-linux-i586.tar.gz
:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
2. Hadoop軟體
Hadoop版本:hadoop-2.2.0.tar.gz
:http://www.apache.org/dist/hadoop/core/hadoop-2.2.0/
l 對於擷取所需要的軟體,可以通過兩種途徑,一種是通過wget直接在linux節點上直接下載,或者配置vsftpd服務,通過該服務傳遞檔案。當然也可以安裝winscp直接傳遞檔案。在這裡簡單的說一下配置vsftpd服務的過程,下面再說wget直接下載檔案。
l VSFTP的安裝和配置
1. 首先查看主機是否已經安裝了VSFTP
沒有反應,說明沒有VSFTP服務。
2. 安裝VSFTP服務
直到最後一行顯示如下:
證明安裝成功。
為安裝檔案建立log
測試安裝後的效果:
服務都為關閉,通過下面的語句來開啟:
這樣就開啟了vsftp服務。
但是現在還不可用,需要進一步佈建服務。
3. 配置vsftpd服務
參考蝦皮上的配置。
anonymous_enable=YES--> anonymous_enable=NO //不允許匿名使用者存取,預設是允許
xferlog_file=/var/log/vsftpd.log#設定vsftpd的服務日誌儲存路徑。注意,該檔案預設不存在。必須要手動touch出來
#idle_session_timeout=600--> idle_session_timeout=600 //會話逾時,用戶端串連到ftp但未操作,預設被注釋掉,可根據個人情況修改
#async_abor_enable=YES--> async_abor_enable=YES //支援非同步傳輸功能,預設是注釋掉的,去掉注釋
#ascii_upload_enable=YES--> ascii_upload_enable=YES //支援ASCII模式的下載功能,預設是注釋掉的,去掉注釋
#ascii_download_enable=YES--> ascii_download_enable=YES //支援ASCII模式的上傳功能,預設是注釋掉的,去掉注釋
#ftpd_banner=Welcometo blah FTP service //FTP的登入歡迎語,本身是被注釋掉的,去不去都行
#chroot_local_user=YES--> chroot_local_user=YES
//禁止本機使用者登出自己的FTP主目錄,本身被注釋掉,去掉注釋
4. iptables防火牆
因為在hadoop啟動並執行時候,需要關閉iptables防火牆,所以在有些網站裡面給出如何在iptables中添加vsftpd服務。其實也不麻煩,也就是在iptables裡面添加20,21連接埠號碼,通過在/etc/sysconfig/iptables中添加下列兩行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
重啟服務,vsftpd服務就不會再受iptables的影響了。
當然也可以這樣,直接用命令:service iptables stop 關閉服務,
並且設定開機不自動啟動,通過命令:chkconfig iptables off
其實這個是早晚要關的。如果單純的配置vsftpd的服務,就按上面的方法配置。再加上下面的第5,6步vsftpd服務就配置完畢了。
5. 設定Selinux
通過命令查看當前selinux的設定的狀態:
getsebool -a | grep ftp
注意兩個參數:allow_ftp_full_access à off ftp_home_dir àoff
修改兩個位on通過下面的命令:
setsebool-P ftp_home_dir 1
setsebool-P allow_ftpd_full_access 1
6. 重啟vsftpd服務,如果沒有關閉iptables,也可以重啟一下iptables服務,這樣vsftpd服務就算配置好了。