程式扎記: [ Big Data 研究 ] 07 建置 YARN 分散式運算系統 - 管理 YARN 分散式運算系統

標籤

2015年10月9日 星期五

[ Big Data 研究 ] 07 建置 YARN 分散式運算系統 - 管理 YARN 分散式運算系統

Introduction
在一般企業應用上, 一旦 HDFS 分散式檔案系統開始運作, 就會依照企業內部管理規範定期維護主機. 而 YARN 分散式運算系統當然也需要定期的維護與監控系統的運作狀態, 但是 YARN 更需要對運算程式的效能進行管理, 才能有效率的應用有效資源, 進行 Big Data 的運算, 而 Hadoop 官方當然也有提供 YARN 的管理與設定指令, 讓 YARN 系統運行的更有效率.

管理 YARN 分散式運算系統

查看 YARN 分散式運算系統的狀態
使用下面指令登入 rm 運算主機:
# lxc-console -n rm
ubuntu@rm:~$ yarn node -list -all // 查看 YARN 的運作狀態
...
Total Nodes:2
Node-Id Node-State Node-Http-Address Number-of-Running-Containers
dn02:36364 RUNNING dn02:8042 0
dn01:34233 RUNNING dn01:8042 0

"Node-Id" 代表每台 NodeManager 的 ID; "Node-State" 就是每台 NodeManager 的運作狀態; "Http-Address" 是每台 NodeManager 的 HTTP 位址, 讓管理人員能夠透過瀏覽器查看 NodeManager 詳細的運作資訊. 我們也可以利用 "yarn node -status" 指令加上要查詢的 "Node-Id" 來查看更詳細的 NodeManager 資訊:
ubuntu@rm:~$ yarn node -status dn01:34233
...
Node Report :
Node-Id : dn01:34233
Rack : /16/1
Node-State : RUNNING
Node-Http-Address : dn01:8042
Last-Health-Update : Fri 09/Oct/15 04:17:24:659PDT
Health-Report :
Containers : 0
Memory-Used : 0MB
Memory-Capacity : 8192MB
CPU-Used : 0 vcores
CPU-Capacity : 8 vcores

運算資源的彙整與管理 (CPU 與記憶體)
在啟動了 YARN 分散式運算系統後, NodeManager 會向 ResourceManager 回報可使用的運算資源, 在預設情況下, 不管實際的硬體規格如何, 一台 NodeManager 的記憶體預設為 8GB, CPU 則預設為 8 個核心, 為了反應實際的硬體規格, 我們必須對 NodeManager 來做設定. 首先我們透過網頁來檢視預設的運算資源:

















上面的 "Memory Total" 和 "VCores Total" 是 Yarn 預設可以使用的運算資源, 不過實際上 YARN 能夠使用的 Memory Total 和 VCores Total, 還必須根據 NodeManager 目前所在主機上的 CPU 與 記憶體來進行運算資源的設定, 而這些設定都可以在 "yarn-site.xml" 檔案中來完成.

請在 Host 主機輸入以下指令進行編輯設定:
# vi /opt/hadoop-2.5.2/etc/hadoop/yarn-site.xml

  •   ubuntu@rm:~$ ssh dn01
    ubuntu@dn01:~$ /opt/hadoop-2.5.2/sbin/stop-yarn.sh
    stopping yarn daemons
    ...

    ubuntu@dn01:~$ jps // 確認 NodeManager 已經停止
    1950 DataNode
    2485 Jps

    ubuntu@dn01:~$ exit
    ubuntu@rm:~$ ssh dn02
    ubuntu@dn02:~$ /opt/hadoop-2.5.2/sbin/stop-yarn.sh
    stopping yarn daemons
    ...

    ubuntu@dn02:~$ jps
    2441 Jps
    1939 DataNode

    ubuntu@dn02:~$ exit
    ubuntu@rm:~$ /opt/hadoop-2.5.2/sbin/stop-yarn.sh
    stopping yarn daemons
    ...

    ubuntu@rm:~$ jps
    1373 Jps
    936 ApplicationHistoryServer

    ubuntu@rm:~$ /opt/hadoop-2.5.2/sbin/start-yarn.sh
    starting yarn daemons
    ...

    此時再重新刷新瀏覽器:



















    查看 Timeline Server 的 Log 資訊
    Timeline Server 是用來紀錄 YARN 執行完程式後所產生的結果. 輸入以下指令開啟並編輯 "yarn-site.xml":
    ubuntu@rm:~$ vi /opt/hadoop-2.5.2/etc/hadoop/yarn-site.xml
    1.   
    2.     yarn.timeline-service.webapp.address  
    3.     rm:8188  


  • 設定內容中的 "yarn.timeline-service.webapp.address" 指定可以使用瀏覽器在 "rm:8188" 開啟 Timeline Server 的 Web 服務:















    如果要在終端機檢視某個 Application 的資訊, 可以透過上面網頁的 "Application ID" 並搭配指令 "yarn application -status" 查看更詳細內容:
    ubuntu@rm:~$ yarn application -status <application_id>



    沒有留言:

    張貼留言

    網誌存檔

    關於我自己

    我的相片
    Where there is a will, there is a way!