在上一篇的分享文章中我是給你們分享了運行部署hadoop的一些安裝準備工做,這篇接上一篇繼續爲你們分享一些我的的學習經驗總結。我學習用的是大快發行版DKHadoop,因此全部的經驗分享都是以DKHadoop爲基礎,這裏要先說明一下。我的以爲DKHadoop對新手仍是算是很友好的了,新手朋友們能夠大快搜索網站下載一個三節點的dkhadoop玩一下看看。mysql
閒話到此結束,本篇重點整理的是服務器操做系統的配置問題,寫的可能會有點長,須要一點點耐心看的哦!sql
1.修改權限數據庫
步驟:在準備工做中拷貝安裝包DKHPlantform.zip到主節點/root/目錄後,解壓並修改文件權限(文件全部者可讀可寫可執行,與文件全部者屬於一個用戶組的其餘用戶可讀可執行,其餘用戶組可讀可執行)。服務器
命令: ssh
cd /root/oop
unzip DKHPlantform.zip學習
chmod -R 755 DKHPlantform網站
2. 搭建hadoop集羣設置SSH免密登陸spa
步驟:操作系統
修改主機名 vi /etc/sysconfig/network reboot
(1)修改本機hosts文件,寫入對應關係
命令:
vi /etc/hosts
經過按鍵盤上的insert或是I鍵進入編輯模式,編輯完成後按一下Esc鍵而後按一下按Shift+:鍵,輸入wq 後回車就能夠保存。輸入q!後回車則是放棄保存並退出.
進入編輯模式後,按照規則寫入主機與ip的對應關係(主機名稱dk41是本身命名的,以下圖)例:
192.168.1.41 dk41
192.168.1.42 dk42
192.168.1.43 dk43
編輯完後,保存退出。把對應關係拷到其餘兩臺機器上。
命令:
scp -r /etc/hosts 192.168.1.42:/etc
scp -r /etc/hosts 192.168.1.43:/etc
(2)執行集羣之間免密前的準備工做
a)執行sshpass.sh的腳本的時候會去讀sshhosts和sshslaves這兩個文件,替換sshpass.sh中的master和slave文件。
修改文件sshhosts,輸入所有機器的主機名,每行一個主機名(以下圖)
命令:
vi /root/DKHPlantform/autossh/sshhosts
經過按鍵盤上的insert或是I鍵進入編輯模式,編輯完成後按一下Esc鍵而後按一下按Shift+:鍵,輸入wq,後回車就能夠保存。輸入q!後回車則是放棄保存並退出.
修改文件sshslaves,寫入除主機名以外的全部機器名(以下圖)
命令:
vi /root/DKHPlantform/autossh/sshslaves
經過按鍵盤上的insert或是I鍵進入編輯模式,編輯完成後按一下Esc鍵而後按一下按Shift+:鍵,輸入wq,後回車就能夠保存。輸入q!後回車則是放棄保存並退出.
b)執行insExpect.sh,系統會裝兩個rpm包,在執行sshpass.sh的過程當中無需再輸密碼和yes,腳本自動繼續執行。
命令:
cd /root/DKHPlantform/autossh
./insExpect.sh
按照提示屢次輸入yes和密碼(以下圖)
c)執行changeMaster.sh腳本爲了清空/root/.ssh目錄下的全部文件(在/root/DKHPlantform/autossh目錄下),避免在執行sshpass.sh腳本時產生的新密鑰時與舊的密鑰發生衝突。
命令:
./changeMaster.sh
按照提示輸入(以下圖)
(3)執行集羣免密(SSH)
a)執行SSH:
命令:
cd /root/
./sshpass.sh 密碼
123456爲集羣密碼,根據本身實際狀況輸入。
b)防止訪問服務器時某些服務被攔截,需關閉防火牆。
命令:
cd /root/DKHPlantform/autossh
./offIptables.sh
3.安裝雙機熱備份的MySQL
目的:存放Hive的元數據
步驟:
(1)從主節點分發mysql安裝目錄到第二節點
命令:
scp -r /root/DKHPlantform/mysqlInst/ 192.168.1.42:/root/
(2)主節點執行:
命令:
cd /root/DKHPlantform/mysqlInst/
./mysql.sh 1
ssh前往第二臺機器(從節點)並執行:
命令:
cd /root/mysqlInst/
./mysql.sh 2
(3)執行成功以後執行熱備份(兩臺機器上都要執行,兩個ip互換,41上寫42,42上寫41,密碼是Mysql的密碼爲:123456。平臺內已經設定好,請勿修改):
命令:
source /etc/profile
./sync.sh 192.168.1.xxx(另外一臺mysql地址) root 123456
4.建立數據庫
步驟:
(1)導入MySQL數據表,只在主節點執行:
命令:
mysql -uroot -p123456 < { 此處爲sql文件,主目錄下文件: dkh.sql}
如:mysql -uroot -p123456 </root/DKHPlantform/dkh.sql
(2)執行完後查看一下兩臺mysql的數據表是否存在,從節點查看執行:
命令:
mysql -uroot -p123456
show databases;