hadoop伺服器基礎環境搭建之Hadoop伺服器配置教程
虛擬機器以及Linux系統安裝在之前的兩篇分享中已經詳細的介紹了方法,並且每一步的都配圖了。如果有朋友還是看不懂,那我也愛莫能助了。本篇主要就hadoop伺服器作業系統配置進行詳細說明,hadoop安裝會在下一篇文章中詳細的介紹。
hadoop安裝包用的是大快DKHadoop發行版,個人覺得DKHadoop的安裝過程是比較簡單,關於dkhadoop的安裝在下一次的分享中再詳細介紹吧。下面進入到本篇的主題——伺服器作業系統配置教程
一、安裝包準備
1、虛擬機器分散式安裝(三臺及以上虛擬機器)
若是個人電腦Windows系統或Linux系統,虛擬機器上虛擬的三臺伺服器,則將安裝包拷貝到伺服器上,進行安裝操作即可。
2、物理叢集(三臺及以上實體伺服器)
- 外網下載模式
- 本地檔案模式
將安裝包檔案直接拷貝到實體伺服器root目錄下,進行安裝操作即可。
3、上傳模式
當伺服器在機房,且無顯示和輸入裝置的情況下,應用該模式。
現將檔案,安裝在本地計算機上(預設為膝上型電腦,在機房現場),並將計算機與伺服器連線,將安裝包install、DKHInstall上傳到伺服器root目錄下。
二、伺服器作業系統配置教程
準備工作完成之後,就要進行伺服器配置操作,首先必須三臺伺服器之間要互相ping通。所謂ping通,就是兩臺裝置之間網路是通的。從一端傳送一個數據包,另一端就能夠收到,就代表兩臺裝置是能夠ping通了。
1、修改許可權
目的:使install、DKHInstall兩個安裝包有可執行的許可權。許可權不足無法執行一些操作。install裡面是指令碼和所有元件,DKHInstall裡面是安裝介面。
步驟:在準備工作中拷貝安裝包 install、DKHInstall到主節點目錄後,修改檔案許可權。首先進入root目錄,安裝目錄 install、DKHInstall的許可權改為:檔案所有者可讀可寫可執行,與檔案所有者屬於一個使用者組的其他使用者可讀可執行,其他使用者組可讀可執行。
命令:
cd /root/
unzip DKHPlantform.zip
chmod -R 755 DKHPlantform
2、搭建Hadoop叢集設定SSH免密登入
目的:Hadoop執行過程中需要管理遠端Hadoop守護程序,在Hadoop啟動以後,NameNode是通過SSH(Secure Shell)來啟動和停止各個DataNode上的各種守護程序的。這就必須在節點之間執行指令的時候是不需要輸入密碼的形式,所以我們需要配置SSH運用無密碼公鑰認證的形式,這樣NameNode使用SSH無密碼登入並啟動DataName程序,同樣原理,DataNode上也能使用SSH無密碼登入到NameNode。
步驟:
(1)修改本機hosts檔案,寫入對應關係
為了區分區域網內的每臺主機,都會給主機配一個主機名,每臺主機之間又是通過IP進行通訊,但IP地址不方便記憶,所以配置主機名和IP對映能夠實現主機之間的快速方便的訪問。
命令:
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)執行叢集之間免密前的準備工作
執行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!後回車則是放棄儲存並退出.
(3)執行叢集免密工作
命令:
cd /root/DKHPlantform/autossh
./autossh 主節點主機名 叢集密碼
例: ./autossh dk41 123456
(4)關閉防火牆
防止訪問伺服器時某些服務被攔截,需關閉防火牆。
命令:
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
從節點執行:
命令:
cd /root/mysqlInst/
./mysql.sh 2
(3)執行成功之後執行熱備份(兩臺機器上都要執行,兩個ip互換,41上寫42,42上寫41,密碼是MySQL的密碼為:123456。平臺內已經設定好,請勿修改):
命令:
source /etc/profile
./sync.sh 192.168.1.xxx(另一臺mysql地址)
4、 建立資料庫
目的:MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,增加了速度並提高了靈活性。
步驟:
(1)匯入MySQL資料表,只在主節點執行:
命令:
mysql -uroot -p123456 < { 此處為sql檔案,主目錄下檔案: dkh.sql}
如:mysql -uroot -p123456 </root/DKHPlantform/dkh.sql
(2)執行完後檢視一下兩臺mysql的資料表是否存在,從主節點中檢視執行:
命令:
mySQL -uroot -p123456
show databases;
use dkh;
show tables;
5、啟動安裝
目的:伺服器配置操作完成之後,啟動DKH。
步驟:執行以下命令。
命令:
cd /root/DKHPlantform/dkh-tomcat*/bin/
./startup.sh
6、本地時間伺服器搭建步驟
沒聯網或者裝系統時時間未同步,需要搭建本地時間伺服器。
(1)搭建內網的ntp伺服器
修改/etc/ntp.conf
命令:
Vim /etc/ntp.conf
通過按鍵盤上的insert或是I鍵進入編輯模式,編輯完成後按一下Esc鍵然後按一下按Shift+:鍵,輸入wq後回車就可以儲存。輸入q!後回車則是放棄儲存並退出.
修改下列三行:
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
在檔案最後新增下列兩行:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
(2)啟動ntp服務
service ntpd start
(3)開機自動啟動
chkconfig ntpd on
(4)客戶端同步時間
命令:
Vim /etc/ntp.conf
通過按鍵盤上的insert或是I鍵進入編輯模式,編輯完成後按一下Esc鍵然後按一下按Shift+:鍵,輸入wq,後回車就可以儲存。輸入q!後回車則是放棄儲存並退出.
在檔案最後新增一行:
*/15 * * * * root ntpdate 192.168.27.35;hwclock -w