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