/hadoop

Primary LanguagePython

hadoop環境部屬

image

環境說明

  • 操作系统:Ubuntu 22.04
  • 軟體:Apache Hadoop、Redis、Prometheus、Grafana
  • 部署方式:Docker

Docker部署

在這次作業中皆是使用Docker進行部署,如下圖 image

使用Docker-compose部署Hadoop,配置如下:

  • 2個DataNode
  • 1個ResourceManager
  • 2個NodeManager

Hadoop的Docker-compose架構如下: image

Prometheus 監控

在前面設定中,使用jmx_prometheus_javaagent對外映射了30002的port做為prometheus的mertic, image image

prometheus的yaml設定如下,對應了前面所說開了30002的port去做metric的收集 image

prometheus的web UI成功獲取port:30002的mertic image

namenode.yaml透過dockercompose放置到需要監控的service上 image

Grafana 數據展示

最後透過grafana去繪製prometheus得到的mertic image

可以看到從prometheus得到的namenode mertic image

grafana的部分在這次作業中主要只監控namenode,原因是因為監控datanode和namenode步驟預想上是一樣的,如HDFS,YARN,和MapReduce 目前只取幾個關鍵指標,如CPU使用量,JVM memory使用量、Metaspace、datanode數量等等 image

最後測試JOB的部分,使用內建的範例去做測試,最後將得到的結果存到redis中當作cache使用。 image

結語

感謝面試官閱讀至此。在架設過程中,我不僅獲得了對資料處理過程的深入理解,也體驗到了其中的樂趣。雖然由於時間和經驗的限制,無法完全深究每一個細節,但我相信這次的學習對我來說是一次非常寶貴的經驗。