Hadoop平臺的搭建

Centos7搭建Hadoop平臺(最簡單Hadoop平臺)

1、 所需軟件

1)VMware虛擬機(使用的是VMware Workstation 10)
2)Centos(使用的是Centos7)
3)jdk(使用jdk-7u51-linux-x64.gz)
4)Xshell(使用Xshell5,用於在window下遠程連接虛擬機中的centos)

5)WinSCP(用於window與虛擬機中的centos傳文件

6)hadoop(使用hadoop-1.2.1)

2、 虛擬機安裝Centos

1)選擇已經下載的Centos的鏡像文件(後綴爲.iso)進行安裝,注意在選擇網絡適配器的時候選擇橋接模式。

2)配置Centos虛擬機的IP地址。
     安裝後重啓,輸入root和設置的密碼即可進入系統,輸入以下命令。
    ifconfig   #命令用於查看IP
     修改IP地址,輸入以下命令:
    vi /etc/sysconfig/network-scripts/ifcfg-ens33

其中:
       BOOTPROTO:表示網卡類型(靜態static,動態dhcp,none)。
       DEVICE:表示設備名稱,注意:該項不可更改,如果更改則網卡無法重啓
       ONBOOT:表示開機是否自動啓動網絡連接。
       NM_CONTROLLED:表示是否實時生效,即是否可不重啓自動生效。
       IPADDR:表示IPV4的地址,配置是需要與window主機保持在同一個網段(例如:window主機IP地址是192.168.20.35,此處配置的IP地址爲:192.168.20.x。)
       NETMASK:表示子網掩碼(與window主機的子網掩碼相同即可)
       GATEWAY:表示默認網關(與window主機的默認網關相同即可
       DNS1:dns域名解析器(採用谷歌的8.8.8.8即可)

       通過ping命令測試網絡是否連通,輸入以下命令:
     ping 192.168.20.x  #該測試是以IP在192.168。20網段作爲測試
     ping www.baidu.com  #該測試是驗證是否能夠連接外網

3)通過IP、用戶名及密碼使用Xshell進行連接,這樣做是爲了操作的方便,同時也是爲了搭建hadoop環境更加方便。

4)通過IP、用戶名及密碼使用WinSCP進行連接,並將下載window上下載的jdk傳到Centos上。

     解壓jdk的壓縮包,並將解壓後的jdk移動到信息目錄(如果目錄沒有則需要使用mkdir命令進行創建),輸入以下命令:
   tar -zxvf jdk-7u51-linux-x64.gz
   mv jdk1.7.0_51 /usr/java/
     配置Java的環境變量,輸入以下命令:
   vi /etc/profile
並添加以下三條環境變量語句:


      重新加載配置文件,輸入以下命令:

    source /etc/profile


     其他節點也完成對java環境的配置。

3、 搭建hadoop環境

       假設此次環境搭建需要三個節點(主機名爲node1、node2、node3),其中node1作爲NameNode,node2作爲DataNode和SecondaryNode,node3作爲DataNode。
1)修改主機名。如果需要顯示修改後的主機名,請重啓該節點。
     在主節點(此情景下的node1上添加其他節點的信息),輸入以下命令:

注意:每一個節點都要修改名字

2)在node1中添加node2、node3的信息(格式:IP地址 主機名,例如:192.168.20.52 node2)
    vi /etc/hosts
       注意:其他DataNode中也要添加NameNode中的IP
3)在node1中搭建hadoop環境
       通過IP、用戶名及密碼使用WinSCP進行連接,並將下載window上下載的jdk傳到Centos上。在node1中進行解壓並通過軟鏈接的方式鏈接到/home文件夾下,輸入以下命令:
   tar -zxvf hadoop-1.2.1.tar.gz
   ln -sf /root/hadoop-1.2.1 /home/hadoop-1.2

      進入到/home/hadoop-1.2/conf中,修改一下五個配置文件
     ①core-site.xml


       修改hadoop.tmp.dir屬性值的原因:如果不設置該屬性,默認就會在Linux下的tmp目錄創建新的目錄,但是tmp目錄下的內容重啓之後就會消失。並且很多hadoop的目錄都會依賴該目錄。該屬性值在core-default.html文件中可以找到。

     ②hdfs-site.xml  


       這是設置副本存放的數量,默認值是3。但是此次環境搭建只有兩個DataNode節點,所以要設置爲2。

     ③slaves

       這是設置具體的DataNode,填寫主機名或者IP地址皆可。

     ④master

       這是設置具體的SecondaryNode,  填寫主機名或者IP地址皆可。

     ⑤hadoop-env.sh

       文件中找到JAVA_HOME,並設置爲java環境變量配置的JAVA_HOME值。


4)免密碼登錄

       在每一個節點生成密鑰,並將公鑰內容複製到文本內容中,實現登錄自己免密碼的功能。輸入以下語句:

     ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
     cat ~/.ssh/id_dsa.pub 
       將node1的公鑰發送到node2和node3上,輸入以下語句:

     scp id_dsa.pub root@node2:~
     scp id_dsa.pub root@node3:~
       在node2和node3上將node1發送過來的公鑰複製到指定的文件,輸入以下語句:

     cat id_dsa.pub >> ~/.ssh/authorized_keys


5)在node2和node3中搭建hadoop環境

       在node1中將hadoop的壓縮包發送到node2和node3上,輸入以下語句:

     scp -r ~/hadoop-1.2.1.tar.gz root@node2:~
     scp -r ~/hadoop-1.2.1.tar.gz root@node3:~
      在node2和node3中解壓並軟鏈接hadoop(方法同node1)


       在node1中進入/home/hadoop-1.2/conf/將hadoop所有配置文件複製到node2和node3上

     scp ./* root@node2:/home/hadoop-1.2/conf/
     scp ./* root@node3:/home/hadoop-1.2/conf/

6)所有節點關閉防火牆(firewall)和selinux

       centos7默認使用firewall作爲防火牆

       systemctl stop firewalld.service   #關閉防火牆

       systemctl disable firewalld.service  #禁止防火牆開機啓動

       firewall-cmd --state  #查看防火牆狀態


       查看selinux狀態:sestatus

       在/etc/selinux/config中關閉selinux

7)在node1中啓動HDFS

       在node1中進入/home/hadoop-1.2/bin輸入以下命令:

     ./start-dfs.sh

       在每個節點可以通過jps命令查看狀態還可以在網頁輸入網址查看節點的狀態。



發佈了46 篇原創文章 · 獲贊 44 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章