【HADOOP】| 環境搭建:從零開始搭建hadoop大數據平台(單機/偽分布式)-下


因篇幅過長,故分為兩節,上節主要說明hadoop運行環境和必須的基礎軟件,包括VMware虛擬機軟件的說明安裝、Xmanager5管理軟件以及CentOS操作系統的安裝和基本網絡配置。具體請參看:

【HADOOP】| 環境搭建:從零開始搭建hadoop大數據平台(單機/偽分布式)-上

6. Linux節點配置

  設置主機名:根據規划修改主機名,執行hostnamectl set-hostname hdoop1,修改主機名並寫入配置文件,使用hostname查看當前生效的主機名。

  關閉防火牆:使用systemctl命令關閉防火牆,stop是本次關閉,disable是下次開機也不會啟動(永久關閉)。這里我們需要使用disable徹底關閉。

  停止selinux:使用getenforce命令可以查詢selinux狀態,使用setenforce命令設置狀態 0表示允許通過(即本次關閉selinux,下次啟動還會還原,要想永久關閉,則需要使用vim編輯配置文件,下圖為getenforce和setenforce的使用)

    vim編輯器的簡要使用說明:

    vim編輯器有三種狀態:普通模式,編輯模式,命令模式

    普通模式按i鍵進入編輯模式,按esc鍵回普通模式

    普通模式進入命令模式,直接在普通模式下輸入(冒號加命令)

    :q!(不保存退出)  :q(直接退出) 

    :w(保存不退出)  :wq(保存退出)

    selinux的配置文件目錄:etc/selinux/config 

    輸入命令:vim etc/selinux/config 即可打開配置文件編輯,按i鍵進入編輯模式,修改為如下結果。cat為查看文件命令。

  利用VMware克隆另外兩個節點:利用節點1的虛擬機克隆出另外兩台節點虛擬機,克隆完成后按規划修改主機名和IP地址。分別為hadoop2節點IP為192.168.1.20,hadoop3節點IP為192.168.1.30,修改方法與前面一致。

  設置主機名和IP對應:每個節點都要設置,寫法是一樣的,完成之后可以直接ping主機名來測試是否設置成功。輸入vim /etc/hosts打開配置文件編輯,修改為如下結果。(三個節點都是一樣的方式)。

  設置ssh互信:ssh免密碼登錄如果不配置,在啟動集群時候需要輸入每個節點的密碼方可啟動,為避免多次輸入密碼,可配置ssh免密碼登錄。下面以hadoop1為例,首先生成密鑰,然后將密鑰傳給其它節點,也要傳給自己。(另外兩個節點也要做,做法是一樣的,如下所示)。

  首先,生成密鑰:ssh-keygen  (敲三次回車)

  然后將密鑰傳給其它節點(包括自己),每個節點都要做,命令格式如下:

  用ssh測試一下能否直接登陸(下圖是從節點1登陸至節點2和節點3)

  目錄建立:根據規划為每個節點創建目錄文件夾。

7. JDK安裝配置

  拷貝JDK包至節點機:首先使用Xftp將JDK安裝文件傳輸至Linux節點機,打開Xftp工具,配置會話,在Xftp工作區左側打開物理機需要上傳軟件所在的目錄,再在右側打開節點機hadoop1的目的目錄(/hadoop/soft),將文件由左側拖至右側即可。

  解壓JDK: tar -zxvf jdk-8u161-linux-x64.tar.gz,解壓完成后即可看到藍色的JDK文件夾

  編輯環境變量:配置root用戶的環境變量,切換至家目錄,使用vim .bash_profile編輯環境變量。添加如下內容。

 

  驗證:使用source .bash_profile重新加載環境變量,使用命令java –version查看現在java的版本,看能否成功執行,結果如下。

  其它節點安裝:將節點hadoop1上的Java拷貝到另外兩個節點上,然后分別登陸至兩個節點,按上面的方法設置另外兩個節點的環境變量。完成后重新加載環境變量,查看版本驗證一下。

8. Hadoop安裝配置

  將Hadoop軟件包上傳至節點1:利用Xftp將物理機上的hadoop-2.8.3.tar.gz傳輸至節點1上(/hadoop/soft)目錄下。

  解壓Hadoop: tar -zxvf hadoop-2.8.3.tar.gz

  進入Hadoop配置文件目錄:如下圖所示

  編輯Hadoop配置文件:需要編輯hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves。(小建議:可以用Xftp將這些文件復制到windows系統上,用Notepad++修改保存,然后在復制到每個節點相應的文件夾里覆蓋原來的)。當然,也可在linux下用vim編輯這些文件,只是較為不便。

  a.  設置hadoop-env.sh和yarn-env.sh中的java環境變量

  b.配置core-site.xml文件 

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.1.10:9000</value>
</property>
<property>
<name>hadoop,tmp.dir</name>
<value>/hadoop/tmp/</value>
</property>
</configuration>

  c.配置hdfs-site.xml文件 

<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>192.168.1.10:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.1.20:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///hadoop/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///hadoop/dn</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///hadoop/secondarynn</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

  d.配置mapred-site.xml文件(由於默認沒有mapred-site.xml文件,只有一個mapred-site.xml.template文件,可以將這個template文件重命名為mapred-site.xml) 

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.1.10:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.1.10:19888</value>
</property>
</configuration>

  e.配置yarn-site.xml文件 

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.1.10:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.1.10:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.1.10:8031</value>
</property>
<property>

  f.配置slaves文件 

  

  編輯環境變量:配置root用戶的環境變量,切換至家目錄,使用vim .bash_profile編輯環境變量。添加如下內容。

  驗證:使用source .bash_profile重新加載環境變量,使用命令hadoop version查看現在hadoop的版本,結果如下。

  其它節點安裝:將節點hadoop1上已經配置好的hadoop拷貝到另外兩個節點上,然后按上面的方法設置另外兩個節點的環境變量。(使用vim .bash_profile編輯環境變量),完成后用上面查看版本的方式驗證一下。

9. Hadoop啟動

  使用hdfs namenode –format格式化hdfs文件系統,如下圖。(僅在第一次啟動之前需要格式化,后面啟動不需要格式化,只需在節點1上執行)

  使用start-all.sh啟動所有服務(只需在節點1上執行)

  啟動成功可分別登陸至每個節點運行jps查看每各個節點上運行的進程,正常情況如下。

  在物理機上訪問hdfs的web界面,打開物理機瀏覽器,輸入網址:http://192.168.1.10:50070,結果如下圖能看到datanode的數據和啟動datanode相同,表示啟動成功。

  同上,使用瀏覽器打開http://192.168.1.10:8088,結果如下圖,表示yarn正常正常啟動。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM