l 主機作業系統:Windows 64位,雙核4線程,主頻2.2G,10G記憶體
l 虛拟軟體:VMware® Workstation 9.0.0 build-812388
l 虛拟機作業系統:CentOS6.5 64位,單核,1G記憶體
l 虛拟機運作環境:
Ø JDK:1.7.0_55 64位
Ø Hadoop:2.2.0(需要編譯為64位)
Ø Scala:2.10.4
Ø Spark:1.1.0(需要編譯)
叢集包含三個節點,節點之間可以免密碼SSH通路,節點IP位址和主機名分布如下:
序号
IP位址
機器名
類型
核數/記憶體
使用者名
目錄
1
192.168.0.61
hadoop1
NN/DN/RM
Master/Worker
1核/3G
hadoop
/app 程式所在路徑
/app/scala-...
/app/hadoop
/app/complied
2
192.168.0.62
hadoop2
DN/NM/Worker
1核/2G
3
192.168.0.63
hadoop3
1.所有節點均是CentOS6.5 64bit系統,防火牆/SElinux均禁用,所有節點上均建立了一個hadoop使用者,使用者主目錄是/home/hadoop,上傳檔案存放在/home/hadoop/upload檔案夾中。
2.所有節點上均建立了一個目錄/app用于存放安裝程式,并且擁有者是hadoop使用者,對其必須有rwx權限(一般做法是root使用者在根目錄下建立/app目錄,并使用chown指令修改該目錄擁有者為hadoop),否則hadoop使用者使用SSH往其他機器分發檔案會出現權限不足的提示
向Linux系統傳輸檔案推薦使用SSH Secure File Transfer,該工具頂部為工具的菜單和快捷方式,中間部分左面為本地檔案目錄,右邊為遠端檔案目錄,可以通過拖拽等方式實作檔案的下載下傳與上傳,底部為操作情況監控區,如下圖所示:

l SSH Secure Shell SSH Secure工具的SSH Secure Shell提供了遠端指令執行,如下圖所示:
l SecureCRT SecureCRT是常用遠端執行Linux指令行工具,如下圖所示:
本次安裝叢集分為三個節點,本節搭建樣闆機環境搭建,搭建分為安裝作業系統、設定系統環境和配置運作環境三個步驟。
第一步 插入CentOS 6.5的安裝媒體,使用媒體啟動電腦出現如下界面
lInstall or upgrade an existing system 安裝或更新現有的系統
linstall system with basic video driver 安裝過程中采用基本的顯示卡驅動
lRescue installed system 進入系統修複模式
lBoot from local drive 退出安裝從硬碟啟動
lMemory test 記憶體檢測
第二步 媒體檢測選擇"Skip",直接跳過
第三步 出現引導界面,點選“next”
第四步 選擇安裝過程語言,選中"English(English)"
第五步 鍵盤布局選擇“U.S.English”
第六步 選擇“Basic Storage Devies"點選"Next"
第七步 詢問是否覆寫所有資料,選擇"Yes,discard any data"
第八步 Hostname填寫格式“英文名.姓”
第九步 時區可以在地圖上點選,選擇“Shanghai”并取消System clock uses UTC選擇
第十步 設定root的密碼
第十一步 硬碟分區,一定要按照圖示點選
第十二步 詢問是否改寫入到硬碟,選擇"Write changes to disk"
第十三步 選擇系統安裝模式為"Desktop"
第十四步 桌面環境就設定完成了,點選安裝
第十五步 安裝完成,重新開機
第十六步 重新開機之後,的License Information
第十七步 建立使用者和設定密碼(這裡不進行設定使用者和密碼)
第十八步 "Date and Time" 選中 “Synchronize data and time over the network”
Finsh之後系統将重新開機
該部分對伺服器的配置需要在伺服器本地進行配置,配置完畢後需要重新開機伺服器确認配置是否生效,特别是遠端通路伺服器需要設定固定IP位址。
以root使用者登入,使用#vi /etc/sysconfig/network 打開配置檔案,根據實際情況設定該伺服器的機器名,新機器名在重新開機後生效
1. 點選System-->Preferences-->Network Connections,如下圖所示:
2. 修改或重建網絡連接配接,設定該連接配接為手工方式,設定如下網絡資訊:
IP位址: 192.168.0.61
子網路遮罩: 255.255.255.0
網關: 192.168.0.1
DNS: 221.12.1.227 (需要根據所在地設定DNS伺服器)
【注意】
1、網關、DNS等根據所在網絡實際情況進行設定,并設定連接配接方式為"Available to all users",否則通過遠端連接配接時會在伺服器重新開機後無法連接配接伺服器;
2、如果是運作在VM Ware虛拟機,網絡使用橋接模式,設定能夠連接配接到網際網路中,以友善後面Hadoop和Spark編譯等試驗。
3. 在指令行中,使用ifconfig指令檢視設定IP位址資訊,如果修改IP不生效,需要重新開機機器再進行設定(如果該機器在設定後需要通過遠端通路,建議重新開機機器,确認機器IP是否生效):
1. 使用root身份編輯/etc/hosts映射檔案,設定IP位址與機器名的映射,設定資訊如下:
#vi /etc/hosts
l 192.168.0.61 hadoop1
l 192.168.0.62 hadoop2
l 192.168.0.63 hadoop3
2. 使用如下指令對網絡設定進行重新開機
#/etc/init.d/network restart
或者 #service network restart
3. 驗證設定是否成功
在hadoop安裝過程中需要關閉防火牆和SElinux,否則會出現異常
1. service iptables status 檢視防火牆狀态,如下所示表示iptables已經開啟
2. 以root使用者使用如下指令關閉iptables
#chkconfig iptables off
1. 使用getenforce指令檢視是否關閉
2. 修改/etc/selinux/config 檔案
将SELINUX=enforcing改為SELINUX=disabled,執行該指令後重新開機機器生效
#vi /etc/selinux/config
CentOS系統自帶的OpenSSL存在bug,如果不更新OpenSSL在Ambari部署過程會出現無法通過SSH連接配接節點,使用如下指令進行更新:
#yum update openssl
1. 以root使用者使用如下指令打開sshd_config配置檔案
#vi /etc/ssh/sshd_config
開放三個配置,如下圖所示:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2. 配置後重新開機服務
#service sshd restart
使用如下指令增加hadoop 組和hadoop 使用者(密碼),建立hadoop元件存放目錄
#groupadd -g 1000 hadoop
#useradd -u 2000 -g hadoop hadoop
#mkdir -p /app/hadoop
#chown -R hadoop:hadoop /app/hadoop
#passwd hadoop
建立hadoop使用者上傳檔案目錄,設定該目錄組和檔案夾為hadoop
#mkdir /home/hadoop/upload
#chown -R hadoop:hadoop /home/hadoop/upload
1. 下載下傳JDK1.7 64bit安裝包
打開JDK1.7 64bit安裝包下載下傳連結為:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
打開界面之後,先選中 Accept License Agreement ,然後下載下傳 jdk-7u55-linux-x64.tar.gz,如下圖所示:
2. 賦予hadoop使用者/usr/lib/java目錄可讀寫權限,使用指令如下:
$sudo chmod -R 777 /usr/lib/java
該步驟有可能遇到問題2.2,可參考解決辦法處理
3. 把下載下傳的安裝包,使用1.1.3.1介紹的ssh工具上傳到/usr/lib/java 目錄下,使用如下指令進行解壓
$tar -zxvf jdk-7u55-linux-x64.tar.gz
解壓後目錄如下圖所示:
4. 使用root使用者配置/etc/profile檔案,并生效該配置
export JAVA_HOME=/usr/lib/java/jdk1.7.0_55
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5. 重新登入并驗證
$logout
$java -version
1. 下載下傳Scala安裝包
Scala2.10.4安裝包下載下傳連結為:http://www.scala-lang.org/download/2.10.4.html,因為在Scala2.11.4下IDEA有些異常,故在這裡建議安裝Scala2.10.4版本
2. 上傳Scala安裝檔案
把下載下傳的scala安裝包使用SSH Secure File Transfer工具(如1.3.1介紹)上傳到/home/hadoop/upload目錄下,如下圖所示:
3. 解壓縮
到上傳目錄下,用如下指令解壓縮:
$cd /home/hadoop/upload
$tar -zxf scala-2.10.4.tgz
遷移到/app目錄下:
$sudo mv scala-2.10.4 /app/
export SCALA_HOME=/app/scala-2.10.4
export PATH=$PATH:${SCALA_HOME}/bin
$exit
$scala -version
複制樣闆機生成其他兩個節點,按照規劃設定及其命名和IP位址,最後設定SSH無密碼登入。
複制樣闆機兩份,分别為hadoop2和hadoop3節點
以root使用者登入,使用vi /etc/sysconfig/network 打開配置檔案,根據1.2規劃修改機器名,修改機器名後需要重新啟動機器,新機器名在重新開機後生效
按照2.2.2配置方法修改機器IP位址
1. 使用hadoop使用者登入在三個節點中使用如下指令生成私鑰和公鑰;
$ssh-keygen -t rsa
2. 進入/home/hadoop/.ssh目錄在三個節點中分别把公鑰命名為authorized_keys_hadoop1、authorized_keys_hadoop2和authorized_keys_hadoop3,使用指令如下:
$cd /home/hadoop/.ssh
$cp id_rsa.pub authorized_keys_hadoop1
3. 把兩個從節點(hadoop2、hadoop3)的公鑰使用scp指令傳送到hadoop1節點的/home/hadoop/.ssh檔案夾中;
$scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh
$scp authorized_keys_hadoop3 hadoop@hadoop1:/home/hadoop/.ssh
4. 把三個節點的公鑰資訊儲存到authorized_key檔案中
使用$cat authorized_keys_hadoop1 >> authorized_keys 指令
5. 把該檔案分發到其他兩個從節點上
使用$scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密碼檔案分發出去
6. 在三台機器中使用如下設定authorized_keys讀寫權限
$chmod 400 authorized_keys
7. 測試ssh免密碼登入是否生效
設定好叢集環境後,可以讓叢集運作在指令行模式下,減少叢集所耗費的資源。以root使用者使用#vi /etc/inittab,将 id:5:initdefault: 改為 id:3:initdefault:
Linux 系統任何時候都運作在一個指定的運作級上,并且不同的運作級的程式和服務都不同,所要完成的工作和所要達到的目的都不同。CentOS設定了如下表所示的運作級,并且系統可以在這些運作級别之間進行切換,以完成不同的工作。運作級說明
l 0 所有程序将被終止,機器将有序的停止,關機時系統處于這個運作級别
l 1 單使用者模式。用于系統維護,隻有少數程序運作,同時所有服務也不啟動
l 2多使用者模式。和運作級别3一樣,隻是網絡檔案系統(NFS)服務沒被啟動
l 3多使用者模式。允許多使用者登入系統,是系統預設的啟動級别
l 4留給使用者自定義的運作級别
l 5多使用者模式,并且在系統啟動後運作X-Window,給出一個圖形化的登入視窗
l 6所有程序被終止,系統重新啟動
在進行Hadoop2.X 64bit編譯安裝中由于使用到64位虛拟機,安裝過程中出現下圖錯誤:
按F1 鍵進入BIOS 設定實用程式 使用箭頭鍵security面闆下找virtualization按Enter 鍵 進去Intel VirtualizationTechnology改成Enabled按F10 鍵儲存并退出 選擇Yes按Enter 鍵 完全關機(關閉電源)等待幾秒鐘重新啟動計算機此Intel虛拟化技術開啟成功
當使用hadoop使用者需要對檔案夾進行賦權,使用chmod指令出現“hadoop is not in the sudoers file. This incident will be reported”錯誤,如下所示:
1. 使用su指令進入root使用者
2. 添加檔案的寫權限,操作指令為:chmod u+w /etc/sudoers
3. 編輯/etc/sudoers檔案,使用指令"vi /etc/sudoers"進入編輯模式,找到:"root ALL=(ALL) ALL"在起下面添加"hadoop ALL=(ALL) ALL",然後儲存退出。
作者:石山園 出處:http://www.cnblogs.com/shishanyuan/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。如果覺得還有幫助的話,可以點一下右下角的【推薦】,希望能夠持續的為大家帶來好的技術文章!想跟我一起進步麼?那就【關注】我吧。