MySQL NDB Cluster API 開發者指南  /  MGM API  /  MGM API 資料結構

3.4 MGM API 資料結構

本節提供有關 MGM API 定義的資料結構資訊。

ndb_logevent 結構

說明

此結構模擬叢集日誌事件,並用於儲存和擷取日誌事件資訊。

定義。  ndb_logevent 有 8 個成員,前 7 個顯示在以下列表中

  • void* handle:由 ndb_logevent_get_next() 設定的 NdbLogEventHandle。此句柄僅用於比較目的。

  • type:告知此事件的類型(Ndb_logevent_type)。

  • unsigned time:向管理伺服器註冊日誌事件的時間。

  • category:日誌事件類別(ndb_mgm_event_category)。

  • severity:日誌事件嚴重性(ndb_mgm_event_severity)。

  • unsigned level:日誌事件層級。此值介於 0 到 15 之間(含 0 和 15)。

  • unsigned source_nodeid:報告此事件的節點的節點 ID。

此結構的第 8 個成員包含特定於日誌事件的資料,並取決於其類型。它被定義為多個資料結構的聯集,每個資料結構對應一個日誌事件類型。要使用的結構由 type 的值決定,如下表所示

表 3.7 Type Ndb_logevent_type 值和使用的結構

Ndb_logevent_type 結構
NDB_LE_Connected Connected:
unsigned node
NDB_LE_Disconnected Disconnected:
unsigned node
NDB_LE_CommunicationClosed CommunicationClosed:
unsigned node
NDB_LE_CommunicationOpened CommunicationOpened:
unsigned node
NDB_LE_ConnectedApiVersion ConnectedApiVersion:
unsigned node
unsigned version
NDB_LE_GlobalCheckpointStarted GlobalCheckpointStarted:
unsigned gci
NDB_LE_GlobalCheckpointCompleted GlobalCheckpointCompleted:
unsigned gci
NDB_LE_LocalCheckpointStarted LocalCheckpointStarted:
unsigned lci
unsigned keep_gci
unsigned restore_gci
NDB_LE_LocalCheckpointCompleted LocalCheckpointCompleted:
unsigned lci
NDB_LE_LCPStoppedInCalcKeepGci LCPStoppedInCalcKeepGci:
unsigned data
NDB_LE_LCPFragmentCompleted LCPFragmentCompleted:
unsigned node
unsigned table_id
unsigned fragment_id
NDB_LE_UndoLogBlocked UndoLogBlocked:
unsigned acc_count
unsigned tup_count
NDB_LE_NDBStartStarted NDBStartStarted:
unsigned version
NDB_LE_NDBStartCompleted NDBStartCompleted:
unsigned version
NDB_LE_STTORRYRecieved STTORRYRecieved:
[NONE]
NDB_LE_StartPhaseCompleted StartPhaseCompleted:
unsigned phase
unsigned starttype
NDB_LE_CM_REGCONF CM_REGCONF:
unsigned own_id
unsigned president_id
unsigned dynamic_id
NDB_LE_CM_REGREF CM_REGREF:
unsigned own_id
unsigned other_id
unsigned cause
NDB_LE_FIND_NEIGHBOURS FIND_NEIGHBOURS:
unsigned own_id
unsigned left_id
unsigned right_id
unsigned dynamic_id
NDB_LE_NDBStopStarted NDBStopStarted:
unsigned stoptype
NDB_LE_NDBStopCompleted NDBStopCompleted:
unsigned action
unsigned signum
NDB_LE_NDBStopForced NDBStopForced:
unsigned action
unsigned signum
unsigned error
unsigned sphase
unsigned extra
NDB_LE_NDBStopAborted NDBStopAborted:
[NONE]
NDB_LE_StartREDOLog StartREDOLog:
unsigned node
unsigned keep_gci
unsigned completed_gci
unsigned restorable_gci
NDB_LE_StartLog StartLog:
unsigned log_part
unsigned start_mb
unsigned stop_mb
unsigned gci
NDB_LE_UNDORecordsExecuted UNDORecordsExecuted:
unsigned block
unsigned data1
unsigned data2
unsigned data3
unsigned data4
unsigned data5
unsigned data6
unsigned data7
unsigned data8
unsigned data9
unsigned data10
NDB_LE_NR_CopyDict NR_CopyDict:
[NONE]
NDB_LE_NR_CopyDistr NR_CopyDistr:
[NONE]
NDB_LE_NR_CopyFragsStarted NR_CopyFragsStarted:
unsigned dest_node
NDB_LE_NR_CopyFragDone NR_CopyFragDone:
unsigned dest_node
unsigned table_id
unsigned fragment_id
NDB_LE_NR_CopyFragsCompleted NR_CopyFragsCompleted:
unsigned dest_node
NDB_LE_NodeFailCompleted NodeFailCompleted:
unsigned block
unsigned failed_node
unsigned completing_node
(對於 blockcompleting_node0 會被解釋為「全部」。)
NDB_LE_NODE_FAILREP NODE_FAILREP:
unsigned failed_node
unsigned failure_state
NDB_LE_ArbitState ArbitState:
unsigned code
unsigned arbit_node
unsigned ticket_0
unsigned ticket_1
NDB_LE_ArbitResult ArbitResult:
unsigned code
unsigned arbit_node
unsigned ticket_0
unsigned ticket_1
NDB_LE_GCP_TakeoverStarted GCP_TakeoverStarted:
[NONE]
NDB_LE_GCP_TakeoverCompleted GCP_TakeoverCompleted:
[NONE]
NDB_LE_LCP_TakeoverStarted LCP_TakeoverStarted:
[NONE]
NDB_LE_TransReportCounters TransReportCounters:
unsigned trans_count
unsigned commit_count
unsigned read_count
unsigned simple_read_count
unsigned write_count
unsigned attrinfo_count
unsigned conc_op_count
unsigned abort_count
unsigned scan_count
unsigned range_scan_count
NDB_LE_OperationReportCounters OperationReportCounters:
unsigned ops
NDB_LE_TableCreated TableCreated:
unsigned table_id
NDB_LE_JobStatistic JobStatistic:
unsigned mean_loop_count
NDB_LE_SendBytesStatistic SendBytesStatistic:
unsigned to_node
unsigned mean_sent_bytes
NDB_LE_ReceiveBytesStatistic ReceiveBytesStatistic:
unsigned from_node
unsigned mean_received_bytes
NDB_LE_MemoryUsage MemoryUsage:
int      gth
unsigned page_size_kb
unsigned pages_used
unsigned pages_total
unsigned block
NDB_LE_TransporterError TransporterError:
unsigned to_node
unsigned code
NDB_LE_TransporterWarning TransporterWarning:
unsigned to_node
unsigned code
NDB_LE_MissedHeartbeat MissedHeartbeat:
unsigned node
unsigned count
NDB_LE_DeadDueToHeartbeat DeadDueToHeartbeat:
unsigned node
NDB_LE_WarningEvent WarningEvent:
[NOT YET IMPLEMENTED]
NDB_LE_SentHeartbeat SentHeartbeat:
unsigned node
NDB_LE_CreateLogBytes CreateLogBytes:
unsigned node
NDB_LE_InfoEvent InfoEvent:
[NOT YET IMPLEMENTED]
NDB_LE_EventBufferStatus(NDB 7.5 之前) EventBufferStatus:
unsigned usage
unsigned alloc
unsigned max
unsigned apply_gci_l
unsigned apply_gci_h
unsigned latest_gci_l
unsigned latest_gci_h
NDB_LE_EventBufferStatus2 (NDB 7.5) EventBufferStatus2:
unsigned usage
unsigned alloc
unsigned max
unsigned latest_consumed_epoch_l
unsigned latest_consumed_epoch_h
unsigned latest_buffered_epoch_l
unsigned latest_buffered_epoch_h
unsigned ndb_reference
unsigned report_reason
report_reasonNO_REPORTCOMPLETELY_BUFFERINGPARTIALLY_DISCARDINGCOMPLETELY_DISCARDINGPARTIALLY_BUFFERINGBUFFERED_EPOCHS_OVER_THRESHOLDENOUGH_FREE_EVENTBUFFERLOW_FREE_EVENTBUFFER 其中之一;有關這些值的描述,請參閱叢集日誌中的事件緩衝區報告
NDB_LE_BackupStarted BackupStarted:
unsigned starting_node
unsigned backup_id
NDB_LE_BackupFailedToStart BackupFailedToStart:
unsigned starting_node
unsigned error
NDB_LE_BackupCompleted BackupCompleted:
unsigned starting_node
unsigned backup_id
unsigned start_gci
unsigned stop_gci
unsigned n_records 
unsigned n_log_records
unsigned n_bytes
unsigned n_log_bytes
NDB_LE_BackupAborted BackupAborted:
unsigned starting_node
unsigned backup_id
unsigned error
NDB_LE_SingleUser SingleUser:
unsigned type
unsigned node_id
NDB_LE_StartReport StartReport:
unsigned report_type
unsigned remaining_time
unsigned bitmask_size
unsigned bitmask_data[1]

ndb_mgm_node_state 結構

說明

提供有關叢集節點狀態的資訊。

定義。  此結構包含下列成員

  • int node_id:叢集節點的節點 ID。

  • enum ndb_mgm_node_type node_type:節點類型。

    如需允許的值,請參閱ndb_mgm_node_type 類型

  • enum ndb_mgm_node_status node_status:節點的狀態。

    如需允許的值,請參閱ndb_mgm_node_status 類型

  • int start_phase:啟動階段。

    只有當 node_typeNDB_MGM_NODE_TYPE_NDBnode_statusNDB_MGM_NODE_STATUS_STARTING 時才有效。

  • int dynamic_id:用於心跳和主機接管的 ID。

    僅適用於資料 (ndbd) 節點。

  • int node_group:節點所屬的節點群組。

    僅適用於資料 (ndbd) 節點。

  • int version:內部版本號碼。

  • int connect_count:此節點連線或中斷連線至管理伺服器的次數。

  • char connect_address[]:叢集中其他節點看到的此節點 IP 位址。

  • int mysql_version:MySQL 版本號碼,表示為整數(例如:80200)。僅適用於 SQL 節點。

  • int is_single_user:當叢集處於單一使用者模式時,具有獨佔存取權的 API 或 SQL 節點的節點 ID。否則不適用。在 NDB 8.0 中新增。

ndb_mgm_node_state2 結構

說明

提供有關叢集節點狀態的資訊。

定義。  此結構包含下列成員

  • int node_id:叢集節點的節點 ID。

  • enum ndb_mgm_node_type node_type:節點類型。

    如需允許的值,請參閱ndb_mgm_node_type 類型

  • enum ndb_mgm_node_status node_status:節點的狀態。

    如需允許的值,請參閱ndb_mgm_node_status 類型

  • int start_phase:啟動階段。

    只有當 node_typeNDB_MGM_NODE_TYPE_NDBnode_statusNDB_MGM_NODE_STATUS_STARTING 時才有效。

  • int dynamic_id:用於心跳和主機接管的 ID。

    僅適用於資料 (ndbd) 節點。

  • int node_group:節點所屬的節點群組。

    僅適用於資料 (ndbd) 節點。

  • int version:內部版本號碼。

  • int connect_count:此節點連線或中斷連線至管理伺服器的次數。

  • int mysql_version:MySQL 版本號碼,表示為整數(例如:80200)。僅適用於 SQL 節點。

  • int is_single_user:當叢集處於單一使用者模式時,具有獨佔存取權的 API 或 SQL 節點的節點 ID。否則不適用。

  • char connect_address[]:叢集中其他節點看到的此節點 IP 位址。

ndb_mgm_cluster_state 結構

說明

提供有關所有叢集節點狀態的資訊。此結構由 ndb_mgm_get_status() 傳回。

定義。  此結構具有以下兩個成員

  • int no_of_nodesnode_states 陣列中的元素數。

  • struct ndb_mgm_node_state node_states[]:一個包含節點狀態的陣列。

    此陣列的每個元素都是一個 ndb_mgm_node_state 結構。

請參閱 ndb_mgm_get_status()

ndb_mgm_cluster_state2 結構

說明

提供有關所有叢集節點狀態的資訊。此結構由 ndb_mgm_get_status3() 返回,並在 NDB 8.0 中新增。

定義。  此結構具有以下兩個成員

  • int no_of_nodesnode_states 陣列中的元素數。

  • struct ndb_mgm_node_state2 node_states[]:一個包含節點狀態的陣列。

    此陣列的每個元素都是一個 ndb_mgm_node_state2 結構。

請參閱 ndb_mgm_get_status3()

ndb_mgm_reply 結構

說明

包含來自管理伺服器的回應資訊,由回應代碼和對應的訊息組成。

定義。 此結構包含兩個成員,如下所示

  • int return_code:對於成功操作,此值為 0;否則,它包含一個錯誤代碼。

    有關錯誤代碼,請參閱 ndb_mgm_error 型別

  • char message[256]:包含回應或錯誤訊息的文字。

請參閱 ndb_mgm_get_latest_error()ndb_mgm_get_latest_error_msg()