Contents

Hadoop - 啟動服務

Hadoop 為 Apache 基金會的開源頂級專案,為軟體框架做為分散式儲存及運算,無論是增減加機器都能處理,另具備高可用性、數據副本等能力

機器基本訊息:

  1. 準備五台機器 (兩台主節點、三台工作節點)
IP FQDN HOSTNAME 用途
192.168.1.30 test30.example.org test30 Master 節點 (Namenode)
192.168.1.31 test31.example.org test31 Master 節點 (ResourceManager)
192.168.1.32 test32.example.org test32 Worker 節點
192.168.1.33 test33.example.org test33 Worker 節點
192.168.1.34 test34.example.org test34 Worker 節點
  1. OS : Ubuntu 18.04

  2. 資源配置 :

    • Cpu : 4 core
    • Ram : 8 G
    • Disk : 50 G

建置步驟 - 啟動服務:

1. 複製電腦 - 依不同條件執行

必須完成事項清單
  • 使用前檢查事項:
  • 停用IPv6
  • 建立hadoop帳號
  • 完成無密碼login
  • 建立hosts檔
  • 建立worker檔
  • 啟動 SSH server
  • OpenJDK8安裝並設定
  • 下載hadoop並修改完環境變數及相關設定

上述步驟確認無誤再執行

可替代方案
本步驟使用 VMware Player 複製方式,如需自行建設五台機器
可選擇其它替代方案
  1. 複製資料夾並更改資料夾名稱

https://i.imgur.com/tqaMaER.png

  1. 更改UUID(與資料夾名稱一樣)

https://i.imgur.com/SBuwnVW.png

  1. 開機時候選擇I Copied It(會自動建立新的MAC)

https://i.imgur.com/ABYpY39.png

  1. 編輯cloud.cfg設定檔
1
sudo nano /etc/cloud/cloud.cfg

https://i.imgur.com/b1PzJnl.png

  1. 修改hostname
1
hostnamectl set-hostname <HOSTNAME> # HOSTNAME自行設定

https://i.imgur.com/pBBw6Dm.png

  1. 編輯50-cloud-init.yaml設定檔,修改網路IP
1
sudo nano /etc/netplan/50-cloud-init.yaml

https://i.imgur.com/partsPW.png

  1. 套用網路設定
1
sudo netplan apply

https://i.imgur.com/zQmkAJ9.png

  1. 重開機
1
reboot

8.( 上述步驟, 有多少台機器就重複做幾次…)

  • 等待全部電腦開機, 並確認正常啟動

https://i.imgur.com/LkwuHZ6.jpg


2. Namenode format(hadoop身份)

1
hdfs namenode -format #只有Namenode那一台

https://i.imgur.com/HyyduLX.png


3. 啟動hdfs(hadoop身份)

1
start-dfs.sh #只有Namenode那一台

https://i.imgur.com/CR533V3.png https://i.imgur.com/0nYeeC3.png https://i.imgur.com/pUFSslT.png

http://test30.example.org:9870


4. 啟動yarn(hadoop身份)

1
start-yarn.sh #只有Resourcemanager那一台

https://i.imgur.com/08Bk1Wp.png https://i.imgur.com/Vf3xnh2.png https://i.imgur.com/GrkR9jR.png

http://test31.example.org:8088/


5. 啟動History Server(hadoop身份)

1
2
mapred --daemon start historyserver #只有History Server那一台
#mr-jobhistory-daemon.sh start historyserver (deprecated)

https://i.imgur.com/h20b78M.png https://i.imgur.com/Rj7fFw1.png


6. 跑個pi 測試一下mapreduce (hadoop身份)

1
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar pi 30 100

https://i.imgur.com/2TAltZW.png https://i.imgur.com/3hPwPwP.png https://i.imgur.com/LcgnWeG.png https://i.imgur.com/0B4yjNo.png

Info

會自動建立hadoop的目錄

https://i.imgur.com/HQfxlPk.png


Note

完成上述步驟,已經成功安裝並啟動 Hadoop,後續尚有進階操作可以選:

  1. Spark 及 Jupyter NoteBook 應用程式安裝
  2. 叢集高可用性 HA(high availability)架設
  3. Spark on R 架設

附錄 - 服務開啟及關閉

  1. Hadoop 服務開啟 (未啟用 HA)
1
2
3
4
5
6
7
8
#NameNode啟動
start-dfs.sh

#ResourceManager啟動
start-yarn.sh

#Historyserver啟動
mapred --daemon start historyserver
  1. Hadoop 服務開啟 (未啟用 HA)
1
2
3
4
5
6
7
8
#Historyserver停止
mapred --daemon stop historyserver

#ResourceManager停止
stop-yarn.sh

#NameNode停止
stop-dfs.sh


如果你還沒有註冊 Like Coin,你可以在文章最下方看到 Like 的按鈕,點下去後即可申請帳號,透過申請帳號後可以幫我的文章按下 Like,而 Like 最多可以點五次,而你不用付出任何一塊錢,就能給我寫這篇文章的最大的回饋!