滴滴雲部署Hadoop3.1.1

java06051515發表於2018-11-21

1.本例叢集架構如下:

此處我們使用的是滴滴雲主機內網 IP,如果需要外部訪問 Hadoop,需要繫結公網 IP 即 EIP。有關滴滴雲 EIP 的使用請參考以下連結。

  • master 節點儲存著分散式檔案的系統資訊,比如 inode 表和資源排程器及其記錄。同時 master 還執行著兩個守護程式:
    NameNode:管理分散式檔案系統,存放資料塊在叢集中所在的位置。
    ResourceManger:負責排程資料節點(本例中為 node1 和 node2)上的資源,每個資料節點上都有一個 NodeManger 來執行實際工作。

  • node1 和 node2 節點負責儲存實際資料並提供計算資源,執行兩個守護程式:
    DataNode:負責管理實際資料的物理儲存。
    NodeManager:管理本節點上計算任務的執行。

2.系統配置

本例中使用的滴滴雲虛擬機器配置如下:
2核CPU 4G記憶體 40G HDD儲存 3 Mbps頻寬 CentOS 7.4

  • 滴滴雲主機出於安全考慮,預設不能透過 root 使用者直接登入,需要先用 dc2-user 登入,然後用 sudo su 切換至 root。本例中預設全部以 dc2-user 使用者執行命令,Hadoop預設使用者同樣為 dc2-user。

  • 將三臺節點的 IP 和主機名分別寫入三臺節點的 /etc/hosts 檔案,並把前三行註釋掉

  • master 節點需要與 node1 和 node2 進行 ssh 金鑰對連線,在 master 節點上為 dc2-user 生成公鑰。

輸入以下命令將生成的公鑰複製到三個節點上

接下來可以用在 master 輸入 ssh dc2-user@node1,ssh dc2-user@node2 來驗證是否可以不輸入密碼就可以連線成功。

  • 配置 java 環境

在3臺節點下載 jdk。

在3臺節點配置 java 變數

使環境變數生效

  source   / etc / profile

檢視 java 版本

出現以上結果,即說明 java 環境已經配置成功。

3.安裝Hadoop

在 master 節點下載 Hadoop3.1.1 並解壓。

在 /home/dc2-user/hadoop-3.1.1/etc/hadoop 下需要配置的6個檔案分別是 hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、workers

(1)hadoop-env.sh 新增如下內容

(2)core-site.xml

(3)hdfs-site.xml

(4)yarn-site.xml


(5)mapred-site.xml

(6)編輯 workers

  node1

  node2

4.啟動Hadoop

  • 複製以下配置檔案到 node1 和 node2

   scp   - r   / home / dc2 - user / hadoop - 3.1.1   dc2 - user @ node1 : / home / dc2 - user /

   scp   - r   / home / dc2 - user / hadoop - 3.1.1   dc2 - user @ node2 : / home / dc2 - user /

  • 配置 Hadoop 環境變數(三臺節點)

  • 使環境變數生效

  source   / etc / profile

  • 在3臺節點輸入 Hadoop version 看是否有輸出,來驗證環境變數是否生效

  • 格式化 HDFS,只在 master 上操作

   / home / dc2 - user / hadoop - 3.1.1 / bin / hdfs  namenode   - format  testCluster

  • 開啟服務

   / home / dc2 - user / hadoop - 3.1.1 / sbin / start - dfs . sh

  / home / dc2 - user / hadoop - 3.1.1 / sbin / start - yarn . sh

  • 檢視三個節點服務是否已啟動

master

node1

node2

出現以上結果,即說明服務已經正常啟動,可以透過 master 的公網 IP 訪問 ResourceManager 的 web 頁面,注意要開啟安全組的 8088 埠,關於滴滴雲安全組的使用請參考以下連結。

5.例項驗證

最後用 Hadoop 中自帶的 wordcount 程式來驗證 MapReduce 功能,以下操作在 master 的節點進行
首先在當前目錄建立兩個檔案 test1,test2,內容如下:

接下來在 HDFS 中建立資料夾並將以上兩個檔案上傳到資料夾中。

  hadoop  fs   - mkdir   / input

  hadoop  fs   - put  test*   / input

當叢集啟動的時候,會首先進入安全模式,因此要先離開安全模式。

  hdfs  dfsadmin   - safemode  leave

執行 wordcount 程式統計兩個檔案中個單詞出現的次數。

如果出現以下輸出說明計算完成,結果儲存在 HDFS 中的 /output 資料夾中。

開啟 part-r-00000 檢視結果。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559758/viewspace-2220781/,如需轉載,請註明出處,否則將追究法律責任。

相關文章