Hadoop研究(一)安裝與部署

一、 前期準備和集羣規劃
這裏使用的是虛擬機的方式進行Hadoop安裝,故前期需要安裝VMWare虛擬化軟件。需要提前準備的安裝包有如下:
1) jdk安裝包,下載地址爲:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
這裏我們所使用的jdk是:jdk-8u65-linux-x64.gz。
注1:需要注意jdk有32位和64位之分,應該根據你的系統進行恰當的選擇,否則會出問題。
注2:將本機上的jdk文件拷貝到虛擬機上,可以使用複製粘貼命令,直接拖拽的方式會導致jdk包出問題。
2) Hadoop安裝包,下載地址爲:http://hadoop.apache.org/releases.html , 這裏,我們使用是Hadoop版本是:hadoop-2.7.2。
3) 虛擬機準備: 本次安裝,在VMware中準備了4臺虛擬機,基本配置是:
內存,暫定4G; 硬盤,暫定20G; 操作系統,CentOS-7-x86_64-DVD-1611.iso
4) 集羣規劃

     Vmname         hostname       IP address         software               process 
   Hadoop_master      master     192.168.100.100    jdk/Hadoop      NameNode/ResourceManager
   Hadoop_slave1      slave1      192.168.100.101    jdk/Hadoop       DataNode/SecondNode
   Hadoop_slave2      slave2      192.168.100.102    jdk/Hadoop       DataNode
   Hadoop_slave3      slave3      192.168.100.103    jdk/Hadoop       DataNode

二、 jdk安裝
1、 拷貝安裝包: 默認經過前期準備,已經下載了可用的安裝包,此時,將該安裝包複製到虛擬機中。
2、 檢查本地已有的jdk:一般情況下,centos系統自帶了openjdk,首先,執行圖1中第一個指令,查看是否包含openjdk,然後執行圖中第二個指令,具體查看都有什麼jdk。若存在,則對每一個jdk均執行圖2中的指令,進行卸載操作。卸載完成,後,執行: $ java –version ,進行檢測,若輸出“java command not found”,則表示卸載成功。
3、 解壓縮安裝包:執行如下命令:

[zwp@localhost Desktop]$ tar -zvxf jdk-8u65-linux-x64.gz

注1:解壓縮時要記住所在的目錄,本次安裝jdk的安裝目錄是:/home/hadoop1/Desktop/jdk1.8.0_65/
注2:解壓縮正確之後,應該能夠得到一個以jdk1.8.0_65命名的文件夾,該文件夾下包含了bin、db、include、jre、lib等文件夾及文件。否則,會出問題。
4、配置jdk的profile文件,該文件位於“/etc/profile”目錄。具體配置內容如圖3所示。將該內容加入到profile文件中。然後保存關閉該文件。(該配置文件的修改需要在root權限下進行)。
這裏寫圖片描述
圖 1 檢查java 版本
這裏寫圖片描述
圖 2 卸載原有版本JDK
這裏寫圖片描述
圖 3 配置java環境變量
注1:修改並保存profile文件後,執行指令:# source profile, 然後執行: # exit ,退出root權限,
在hadoop1權限下再執行一次:sourceprofile,使profilerootjdk java -version 來查看具體的jdk安裝情況及版本。這裏顯式的結果如下:
這裏寫圖片描述
圖 4 JDK版本生效
三、 虛擬機集羣的基礎配置
1、 生成虛擬機集羣
已經在一臺虛擬機上成功安裝了jdk, 並且,已經將必須的Hadoop組件安裝包拷貝到了該虛擬機上,下一步,需要生成虛擬機集羣:使用VMware自帶的克隆功能。
首先,將需要克隆的虛擬機關機(必須是關機狀態,才能夠實現克隆操作);然後,選中該虛擬機,右擊選擇“管理”—“克隆”,然後按照提示,進行下一步操作即可,其中,中間需要修改虛擬機的名字(即vmname),最後克隆成功後,關閉該克隆界面即可。
這裏,虛擬出來了4臺虛擬機,其vmname分別爲:hadoop_master、hadoop_slave1、hadoop_slave2、hadoop_slave3.
2、 主機名修改
由於克隆產生的主機名全都是一樣的,故,需要修改主機名。
進入該虛擬機,執行如圖5所示的第一個命令:
這裏寫圖片描述
圖 5 修改hostname
之後,會出現一個認證界面,輸入密碼,回車即可:如圖6所示:
這裏寫圖片描述
圖 6 認證界面
之後,可以執行指令: $ hostnamectl 來驗證是否修改成功。

3、 IP地址的設置
主要是爲master主機及其各個slave主機配置IP地址,並實現各自之間的內網通信。
1)本安裝,實現對四臺虛擬機的一個IP配置:
Master:192.168.100.100
slave1:192.168.100.101 slave2:192.168.100.102 slave3:192.168.100.103
並設置自動啓動網絡的選項。
配置之後,可以通過互相ping一下ip地址,檢測是否能夠正常通信。
2)修改hosts 文件:在master主機上,修改hosts文件,配置各個主機的hostname與IP地址的解析。
該host文件位於目錄“/etc/hosts”,需要在root權限下修改該hosts文件。具體修改內容如下:
192.168.100.100 master
192.168.100.101 slave1
192.168.100.102 slave2
192.168.100.102 slave3
保存後退出,並將該hosts文件複製到其餘3個slave主機上,具體執行指令:(下面指令需要在root權限下執行)
# cd /etc/
# scp hosts slave1:/etc/
# scp hosts slave2:/etc/
#scp hosts slave3:/etc/
4、 免密碼登錄實現
爲了避免每次執行時需要大量地輸入root的密碼認證,故這裏設置免密碼登錄實現。主要目的是實現,master主機對每個slave主機的免密碼登錄。具體操作步驟如下:
1) 生成RSA公鑰和私鑰:執行如圖8所示的指令:ssh-keygen -t rsa -P ‘’ ,即可生成RSA的公鑰與私鑰。
這裏寫圖片描述
圖 7 ssh目錄

這裏寫圖片描述
圖 8 ssh密鑰生成
注1:該命令需要在master主機上,切換到root用戶下,進入到/root/.ssh/文件夾下,執行,如上圖7所示。由於.ssh可能是隱藏文件,需要執行:ls –a 來查看。
注2:密鑰生成成功後,可以在.ssh目錄下看到增加了兩個文件“id_rsa”和“id_rsa.pub”分別代表私鑰和公鑰。
2) 將RSA公鑰追加到到每個slave
這一步驟,實現將生成的密鑰中的公鑰發送到slave1、slave2、slave3三臺虛擬機中,實現master對slave1、slave2、salve3的無密鑰登錄。
這裏寫圖片描述
圖 9 拷貝公鑰到slave主機
注1:這裏使用的是:ssh-copy-id slave1、 ssh-copy-id slave2、 ssh-copy-id slave3
有提示說,可以使用:cat id_rsa.pub >> slave1:/root/.ssh/authorized_keys 指令實現。但是,我執行該指令,出現了問題,提示slave1中沒有authorized_keys文件,即無法實現正確的拷貝公鑰。
3) 測試是否成功
此時,已經基本實現了該有的配置,可進行測試:
執行: #ssh slave1 , 即可實現登錄到slave1系統中,如圖9所示,最後一個命令的執行結果。
注1:需要關閉防火牆。
執行:
# systemctl stop firewalld.service
#systemctl disable firewalld.service

注2:如上步驟的執行是在master主機上進行的。
注3:此處生成的密鑰需要是RSA的,因爲對應的sshd_config文件下的配置是關於RSA的。
四、 安裝Hadoop
1、 解壓縮Hadoop安裝包:成功後會生成一個hadoop-2.7.2的文件夾。裏面包含了bin/sbin/lib/etc/include等。
tarzvxfhadoop2.7.2.tar.gz2Hadoopprofile1hadoopprofile/etc/profileprofilesourceprofile /.bashprofile2exportHADOOPHOME=/home/hadoop/Desktop/hadoop2.7.2exportPATH= PATH:HADOOPHOME/bin3Hadoop1masterslaveslave2/home/hadoop/Desktop/hadoop2.7.2/etc/hadoop1Hadoopenv.shJAVAHOMEexportJAVAHOME= {JAVA_HOME}
爲:export JAVA_HOME=/home/hadoop/Desktop/jdk1.8.0_65core-site.xml 文件:
主要是增加configuration的內容,如圖10所示:
這裏寫圖片描述
圖 10 core-site.xml配置文件
3) hdfs-site.xml 文件
這裏寫圖片描述
圖 11 hdfs-site.xml配置文件
4) slaves文件
slaves文件中寫上對s各個lave的標註:

slave1
slave2
slave3

5) 將各個配置文件拷貝到每個slave主機上
這裏寫圖片描述

4、啓動hdfs

NameNode初始化: ./bin/hdfs namenode -format
啓動hdfs: ./ sbin/start-dfs.sh
成功啓動後,可以通過執行: # jps 指令查看是否成功運行。如果成功運行了,在master主機上會出現 NameNode的進程;而在slave主機上會出現DataNode的進程。
在master的web瀏覽器上,通過網址: http://mater:50070 即可以通過web界面查看NameNode和DataNode的圖形化界面的監控。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章