使用JMX作为Ganglia的现代替代品进行CLDB监视
有許多選項可用于監視MapR集群的性能和運行狀況。 在本文中,我將介紹使用Java管理擴展(JMX)監視CLDB的鮮為人知的方法。
據最受尊敬的MapR數據工程師之一,Akihiko Kusanagi稱,與使用Ganglia相比,使用JMX來獲取CLDB指標可以被視為一種訪問實時性能指標的更現代,更簡單的方法。 Ganglia作為分布式集群(尤其是Hadoop)的指標收集服務已有很長的歷史,在MapR文檔中已很好地證明了其在此角色中的使用。
對于不使用此類工具的集群,使用JMX監視CLDB可能是一個明智的選擇,可以避免安裝和配置第三方監視解決方案。 在非常特定的情況下,實時,精細地監視CLDB可能很有用,在這種情況下,針對生產集群收集的普通指標未提供解決集群運行狀況或性能方面某些問題所需的所有詳細信息。 就CLDB而言,在MapR-FS的運行狀況和性能方面尤其如此。
這篇文章主要面向經驗豐富的MapR集群管理員和顧問。 為了使經驗不足的讀者受益,我將花一些時間來介紹一些基本知識,然后再著手解決這個問題。
CLDB指標
CLDB(容器位置數據庫)是MapR文件系統的核心,是MapR特定的技術,是Hadoop HDFS分布式文件系統的高性能且可靠的替代品。
CLDB通過替換NameNode打破了其他Hadoop發行版眾所周知的單點故障。 這樣,CLDB維護有關群集中數據位置的信息。 它的可靠性來自通常在群集的三個節點上運行,其中一個節點隨時可作為主節點。
度量標準僅由CLDB主服務器收集,其他CLDB節點則作為從屬服務器保持只讀模式,因此不收集任何度量標準。
一個相當簡明扼要的列表收集可以發現指標這里在MAPR文檔。 這些指標與節點的硬件,CPU,內存和網絡指標以及與卷,容器和RPC調用有關的MapR-FS特定指標相關。 最后,該服務還收集群集范圍的CPU,磁盤空間和內存的聚合指標。
特別令人感興趣的是CLDB主站的CPU負載。 在少于100個節點的典型群集中,CLDB節點還運行其他服務。 隨著群集大小的增加,CLDB節點可能會變得超負荷工作,并且很高的CPU利用率可能表明需要轉向僅CLDB的節點設計,這是非常大的群集的最佳做法( 鏈接 )。
Java管理擴展(JMX)
JMX于2004年與J2SE 5.0 JDK一起引入,旨在用于企業應用程序中,以使系統可配置或在任何時間點獲取應用程序狀態。 CLDB服務包括已注冊MBean的正在運行的JMX服務器。
使用眾多JMX控制臺實現中的任何一種,都可以實時讀取CLDB應用程序狀態。 在這里,我將重點介紹Jconsole,它是Oracle JDK的標準工具。
有許多在線資源可從Oracle的出色Java文檔和教程以及JournalDev的教程中學習有關JMX的更多信息。
使用JConsole進行實時CLDB監視
在Mac OS和Linux中,jconsole會自動安裝到/ usr / local / bin,因此可以使用。 唯一的依賴關系是Oracle的JDK。
執行jconsole會啟動一個帶有登錄提示的Java應用程序:
要進行連接,請選擇“遠程過程”并輸入:<master CLDB host>:7220,然后按“ Connect”。 “用戶名”和“密碼”字段可以保留為空白。 提示將報告無法安全連接,并提出仍要連接或取消連接。 只需選擇“不安全的連接”。
JMX控制臺默認情況下會打開“概述”選項卡,如上所示。 它顯示內存和CPU的實時指標。 這是一個非常“ Java JVM監視視圖”,僅包含許多實用的CPU圖表。 所有操作都在“ MBeans”選項卡和“ com.mapr.cldb” MBean中。
該視圖允許訪問由主CLDB收集的所有內部指標。 收集的指標從群集級別的指標(例如“群集內存容量”和“使用的磁盤空間”)到非常細粒度的指標,而這些指標可能僅對MapR內部軟件工程師感興趣(“已處理的重復ACR數量”嗎? )。
MapR建議的指標是Ganglia公開的指標,并在文檔中列出。 在這種情況下不方便的是,沒有與CLDB MBean相關的圖。 一次只能訪問一個值,并且該值不會自動刷新。
當然,可以使用Java以編程方式訪問這些數字,而這會花費一些時間和精力。 按照本博客文章中的說明,也可以使用Python(通過JPype1包)。 以編程方式獲取感興趣的指標,只花了我幾分鐘時間就使用了該博客中的信息。 通過Python,可以輕松地將指標轉發到數據庫,ElasticSearch索引甚至是平面文件。
不過,老實說,實際上,我寧愿建議使用MapR REST API來滿足生產集群的日常監視需求,這將是另一篇博客文章的主題。
結論
當然,對CLDB的JMX監視不太可能成為MapR集群管理員日常工具箱的一部分。 但是,我發現它很有趣,可以窺視MapR技術的這一關鍵部分的內部功能。 希望您會發現它和我一樣有趣。
翻譯自: https://www.javacodegeeks.com/2016/05/cldb-monitoring-using-jmx-modern-alternative-ganglia.html
總結
以上是生活随笔為你收集整理的使用JMX作为Ganglia的现代替代品进行CLDB监视的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 按键精灵怎么设置循环(按键精灵怎么设置循
- 下一篇: u盘装载云电脑系统(云净装机u盘安装)