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