hadoop入門學習教程:DKHadoop完整安裝步驟
使用hadoop版本是DKH標準三節點發行版,DKHadoop版本的易用性比較好,環境部署要簡單的多,參考此篇安裝前請先下載DKHadoop版本,網盤連結:https://pan.baidu.com/s/1-427Sh6lTLrLAPh6KMOYVg 提取碼:vg2w
第一部分:準備工作
1、大資料平臺所需配置:
(1) 系統:CentOS 6.5 64位(需預設安裝Desktop)
(2) CPU :intel E3及以上。
(3) 記憶體:建議最小8G,用圖計算建議32G,推薦128G。
(4) 硬碟:256G以上,推薦使用固態硬碟。
(5) 系統分割槽要求: 如無特殊需求,除swap分割槽外,可將剩餘空間全部分配到/(根)分割槽
(6) 網路要求:如無特殊情況,儘量可以接入外網。
(7) 至少三臺伺服器(三臺伺服器名字任意起,密碼須一致)。
(8)安裝使用root使用者作為預設使用者
2、遠端上傳和遠端連線工具:
- 若直接使用個人PC開啟的虛擬機器作為伺服器的基礎,直接拷貝到虛擬機器下即可。
- 若是使用機房伺服器作平臺搭建的伺服器,如若不能直接接觸到伺服器,則需要使用遠端工具連線併發送安裝包
第二部分:伺服器作業系統配置
1.修改許可權
步驟:在準備工作中拷貝安裝包DKHPlantform.zip到主節點/root/目錄後,解壓並修改檔案許可權(檔案所有者可讀可寫可執行,與檔案所有者屬於一個使用者組的其他使用者可讀可執行,其他使用者組可讀可執行)。
命令:
cd /root/
unzip DKHPlantform.zip
chmod -R 755 DKHPlantform
2. 搭建hadoop叢集設定SSH免密登入
步驟:
修改主機名 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;
第三部分:DKH系統安裝
(1)啟動安裝
步驟:執行以下命令。
命令:
cd /root/DKHPlantform/dkh-tomcat-7.0.56/bin/
./startup.sh
啟動成功後瀏覽器鍵入主節點ip
登陸預設使用者名稱和密碼:
Username:admin
Password: 123456
後續根據提示安裝
(3)元件安裝路徑
建議採用預設安裝路徑,即/opt/dkh/,注意千萬不要放/root/,不然impala等元件的安裝可能出現問題
第四部分:常見問題解決方法
1、當hdfs的zkfc出現如下問題時,可嘗試以下方法:
(1)先格式化hadoopzk:hdfs zkfc -formatZK
(2)啟動zk,sbin下: ./hadoop-daemon.sh start zkfc
(3)設定失敗轉移的namenode: hdfs haadmin -failover nn1 nn2 2、當hue頁面打不開,顯示如下內容時,說明沒有建立hue資料庫,可在主節點執行此檔案,根據提示輸入Y即可
3、當hue頁面打不開,顯示如下內容時,可執行如下命令解決:
# cd /opt/dkh/hue-3.12.0/build/env/bin
# ./hue syncdb 之後輸入no
# ./hue migrate
4、Essql頁面打不開,顯示如下內容時,可通過以下方式解決
(1)主節點執行命令:source /etc/profile,後重啟Tomcat(注意使用shutdown命令之後,若還存在相關程序,需手動kill掉)
適用於環境變數不生效的情況,比如,Java的版本識別的是1.7,而不是1.8;hdfs相關命令不識別等。
(2)重啟Tomcat,注意使用shutdown命令之後,若還存在相關程序,需手動kill掉
適用於啟動了多個Tomcat程序的情況。