1. 程式人生 > >Hadoop-2.4.1叢集搭建步驟

Hadoop-2.4.1叢集搭建步驟

首先說明,博主以前也沒學過Hadoop,更別提Linux。只不過買了點資料,覺得不看也是浪費,索性找了時間學習了一下,別說,還真是吸引人。

言歸正傳,博主機器:筆記本 Y50-70 美版的

搭建環境:VM11(VMware Workstation 11),使用的是CenOS 6.5 64位

所需軟體:SecureCRT

1.先在VM上安裝Linux虛

1.1 開啟檔案----新建虛擬機器-----自定義(高階)-----按下一步,然後選擇稍後安裝系統

1.2  選擇機器配置

1.3 選擇網路型別,使用僅主機模式,因為這樣可以使用靜態IP,以免造成IP變動引起的無法解析hosts檔案對映問題

1.4 選擇磁碟容量大小後,按下一步完成,然後該虛擬機器,在CD/DVD光碟機中載入你的CentOS6.5映象檔案


1.6 啟動VM虛擬機器,進行Linux安裝,進入安裝頁面後會出現Media Test 此時選擇SKIP 直接進行安裝,然後一直按下一步,出現如下顯示資訊,選擇Yes,discard any data,下面的hostname你按自己喜歡的來設定,其餘的時間地點什麼的你自己選,root密碼自己設定(別忘記就行),wirte changes to disks.

以上安裝完成,然後克隆這個虛擬機器,克隆兩個。

2.進入虛擬機器,進行IP設定以及檔案修改。另外兩臺虛擬機器也照這樣修改,不過IP地址你自己設定,不要一樣就行

2.1 進行IP設定等

2.2 修改eth0配置檔案 ,將onboot=no改為yes即可,


2.3 建立hadoop執行賬戶

即為hadoop叢集專門設定一個使用者組及使用者,這部分比較簡單,參考示例如下:

sudo groupadd hadoop    //設定hadoop使用者組

sudo useradd –s  /bin/bash  –d  /home/ding  –m  ding  –g  hadoop –G root   //新增一個ding使用者,此使用者屬於hadoop使用者組,且具有root許可權。

sudo passwd ding   //設定使用者ding登入密碼

su ding   //

切換到ding使用者中

不過這些操作你也可以在圖形介面完成

   system----Administration-----Users and Groups

2.4 修改host檔案 三臺hosts檔案都一樣


        關閉防火牆
        #檢視防火牆狀態
        service iptables status
        #關閉防火牆
        service iptables stop
        #檢視防火牆開機啟動狀態
        chkconfig iptables --list
        #關閉防火牆開機啟動
        chkconfig iptables off

克隆完的每臺虛擬機器需要修改下主機名:

vi /etc/sysconfig/network 

hostname=XXXX 即是你的主機名


命令:vi /etc/hosts        (PS:我換了另外一臺虛擬機器 所以IP地址跟上面有所區別 不過意思不變)

我的三臺主機名:

2.5 為了操作便捷,轉戰SecureCRT這個軟體

hostname填入你的IP地址,username填入你的hadoop使用者組裡面的,例如:hostname:192.168.0.120 username :ding

其餘兩個虛擬機器連線也這麼幹

3.配置SSH無密碼登入

PS:每個機器的hosts檔案都要設定好,且要一樣的啊

3.1 產生金鑰

在secureCRT鍵入 cd .ssh 命令 進入.ssh隱藏資料夾 (隱藏資料夾 使用 ll -a 才會顯示出來)

鍵入命令 ssh-keygen -t rsa

其餘2個虛擬機器也進行如此步驟

3.2 將master的公鑰複製給node01和node02,這裡說下ssh無密碼登入的原理:


也就是說A想要無密碼登入B,必須要將自己的公鑰發給B,B將其加入到授權列表才行

在node01、node02主機上將master主機上的公鑰複製過來

例如在node01上將master上的公鑰複製到node01上來,此操作是在node01主機上完成

命令:scp [email protected]:~/.ssh/id_rsa.pub ./master_rsa.pub        //此命令是將master主機上,資料夾.ssh下的id_rsa.pub檔案複製到node01上的根目錄下,且命名為master_rsa.pub

在node02上也進行如此操作,然後進行測試:

在master主機上鍵入命令:ssh node01 ,如果沒有問題只需要輸入yes即可

3.2.1 對自己進行無密碼登入 ssh master 操作同上 在.ssh檔案目錄下輸入命令 cat id_rsa.pub >> authorized_keys 即可完成

4.下載安裝JDK,HADOOP,配置環境變數

4.1 下載JDK,並且安裝

tar -zxvf jdk-7u79-linux-x64.tar.gz -C /usr/lib/jvm      //我是將jdk安裝到/usr/liv/jvm中的,此時使用的許可權是root(切換root使用者命令su,抱歉我沒有操作sudoer這個檔案,所以沒法使用sudo這個命令)

4.2 下載hadoop jar包

tar -zxvf hadoop-2.4.1tar.gz -C  /home/ding/hadoop      //需要在你的目錄下先建立資料夾 hadoop (mkdir hadoop)

4.2 配置環境變數

命令:vi /etc/profile

儲存後,source /etc/profile 讓配置檔案生效,其餘node01,node02也需要進行如此操作,當然,前提是你的使用者名稱與jdk安裝目錄,hadoop安裝目錄都是一樣的

4.3 配置hadoop檔案

配置檔案都在 /hadoop-2.4.1/etc/hadoop目錄下面

4.3.1 配置core-site.xml檔案

4.3.2 配置hdfs-site.xml

4.3.3 配置 mapred-site.xml檔案

首先發現沒有這個檔案,而是有一個名為 mapred-site.xml.template ,現將此檔案重新命名,鍵入命令:mv mapred-site.xml.template mapred-site.xml,然後對檔案進行修改


4.3.4 配置yarn-site.xml

4.3.5 配置 hadoop-env.sh ,slaves

配置檔案1:hadoop-env.sh 修改JAVA_HOME值(export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_79)
配置檔案2:slaves (這個檔案裡面儲存所有slave節點)

5.將hadoop複製到其它節點 node01,node02

scp -r ~/hadoop [email protected]:~/                //註釋將hadoop資料夾複製node01下主目錄  ~/表示使用者主目錄,例如使用者是ding 主目錄就是 /home/ding

scp -r ~/hadoop [email protected]:~/

6.格式化namenode

鍵入命令: hdfs hadoop -format

注意:上面只要出現“successfully formatted”就表示成功了。

7.啟動hadoop

分別啟動start-dfs.sh和start-yarn.sh命令

 

8.檢查

在master和node上檢查是否啟動

在master檢查,鍵入命令jps

在node01檢查,鍵入命令jps


鍵入命令:hdfs dfsadmin -report

9.上傳一個檔案試試

先建立一個資料夾upload

上傳檔案至資料夾upload下

hadoop fs -put ~/hadoop-2.4.1.tar.gz /upload


檢視upload目錄

hadoop fs -ls /upload