回覆列表
  • 1 # 使用者3456175603979

    如要監控Storm叢集和執行在其上的Topology,該如何做呢?

    Storm已經為你考慮到了,Storm支援Thrift的C/S架構,在部署Nimbus元件的機器上啟動一個Thrift Server程序來提供服務,我們可以透過編寫一個Thrift Client來請求Thrift Server,來獲取你想得到的叢集和Topology的相關資料,來接入監控平臺,如Zabbix等,我目前使用的就是Zabbix。

    整體的流程已經清楚了,下面就來實踐吧。

    1 安裝Thrift

    由於我們要使用Thrift來編譯Storm的原始碼來獲得Thrift Client相關的Java原始碼,所以需要先安裝Thrift,這裡選取的版本為0.9.2。

    到官網下載好安裝包:http://thrift.apache.org/

    編譯安裝:configure && make && make install

    驗證:thrift --version

    如果打印出Thrift version 0.9.2,代表安裝成功。

    2 編譯Thrift Client程式碼

    首先下載Storm原始碼,這裡使用最新的0.9.3版本:http://mirrors.hust.edu.cn/apache/storm/apache-storm-0.9.3/apache-storm-0.9.3-src.tar.gz

    解壓後進行編譯:thrift -gen java apache-storm-0.9.3/storm-core/src/storm.thrift

    在當前目錄下出現gen-java資料夾,此資料夾下就是Thrift Client的Java原始碼了。

    3 使用Thrift Client API

    然後建立一個Maven專案來進行執行監控資料的獲取。

    專案生成一個Jar檔案,輸入一些命令和自定義引數,然後輸出結果。

    以命令列的形式進行呼叫,這樣可以方便的接入監控系統,當然使用形式可以根據自身情況施行。

    建立好後,把gen-java生成的程式碼複製進來。

  • 中秋節和大豐收的關聯?
  • 黑洞究竟是天體還是隻是一個洞?