MySQL NDB Cluster API 開發人員指南  /  ...  /  叢集狀態函式

3.2.5 叢集狀態函式

本節提供有關 MGM API 函式的資訊,這些函式用於從 NDB 叢集節點取得狀態資訊。

ndb_mgm_get_status()

描述

此函式用於取得 NDB 叢集中節點的狀態。

注意

呼叫者必須釋放此函式傳回的指標。

簽名
struct ndb_mgm_cluster_state* ndb_mgm_get_status
    (
      NdbMgmHandle handle
    )
參數

此函式接受單一參數,即管理伺服器 句柄

傳回值

指向 ndb_mgm_cluster_state 資料結構的指標。

ndb_mgm_get_status2()

描述

此函式與 ndb_mgm_get_status() 相似,因為它用於取得 NDB 叢集中節點的狀態。但是,ndb_mgm_get_status2() 允許指定要檢查的節點類型 (ndb_mgm_node_type)。

注意

呼叫者必須釋放此函式傳回的指標。

簽名
struct ndb_mgm_cluster_state* ndb_mgm_get_status2
    (
      NdbMgmHandle handle,
      const enum ndb_mgm_node_type types[]
    )
參數

此函式接受兩個參數

  • 管理伺服器 句柄

  • 指向要檢查的節點類型陣列的指標。這些是 ndb_mgm_node_type 值。陣列應以 NDB_MGM_NODE_TYPE_UNKNOWN 類型的元素終止。

傳回值

指向 ndb_mgm_cluster_state 資料結構的指標。

ndb_mgm_get_status3()

描述

此函式與 ndb_mgm_get_status2() 相似,並透過指定要檢查的節點類型 (ndb_mgm_node_type),用於取得 NDB 叢集中節點的狀態。與該函式 (以及 ndb_mgm_get_status()) 不同,當叢集使用 IPv6 定址時,ndb_mgm_get_status3() 可以運作。

注意

呼叫者必須釋放此函式傳回的指標。

簽名
struct ndb_mgm_cluster_state2 *ndb_mgm_get_status3
    (
      NdbMgmHandle handle,
      const enum ndb_mgm_node_type types[]
    );
參數

此函式接受兩個參數

  • 管理伺服器 句柄

  • 指向要檢查的節點類型陣列的指標。這些是 ndb_mgm_node_type 值。陣列應以 NDB_MGM_NODE_TYPE_UNKNOWN 類型的元素終止。

傳回值

指向 ndb_mgm_cluster_state2 資料結構的指標。

ndb_mgm_dump_state()

描述

此函式可用於將偵錯資訊傾印到叢集日誌。NDB 叢集管理用戶端 DUMP 命令是此函式的包裝函式。

ndb_mgm_dump_state()DUMP 命令一樣,如果使用不當,可能會導致執行中的 NDB 叢集發生故障甚至完全失敗。在使用此函式之前,請務必查閱相關文件。如需有關 DUMP 命令的詳細資訊,以及目前 DUMP 代碼及其影響的列表,請參閱 NDB 叢集管理用戶端 DUMP 命令

簽名
int ndb_mgm_dump_state
    (
      NdbMgmHandle handle,
      int nodeId,
      const int* arguments,
      int numberOfArguments,
      struct ndb_mgm_reply* reply
    )
參數

此函式接受以下參數

  • 管理伺服器句柄 (NdbMgmHandle)

  • 叢集資料節點的 nodeId

  • 引數 的陣列。其中第一個是要執行的 DUMP 代碼。如果對應的 DUMP 命令需要或希望,則可以在此陣列中傳遞後續引數。

  • 要傳遞的 numberOfArguments

  • ndb_mgm_reply,其中包含傳回碼以及回應或錯誤訊息。

傳回值

成功時為 0;否則為錯誤碼。

範例。  以下範例的結果與在管理用戶端中執行 2 DUMP 1000 相同

//  [...]
#include <mgmapi_debug.h>
//  [...]
struct ndb_mgm_reply reply;
int args[1];
int stat, arg_count, node_id;

args[0] = 1000;
arg_count = 1;
node_id = 2;

stat = ndb_mgm_dump_state(h, node_id, args, arg_count, &reply);