MySQL NDB Cluster API 開發人員指南  /  MGM API  /  MGM API 資料類型

3.3 MGM API 資料類型

本節提供有關 MGM API 所定義資料類型的資訊。

本節中描述的類型全部定義於 /storage/ndb/include/mgmapi/mgmapi.h 檔案中,但 Ndb_logevent_typendb_mgm_event_severityndb_mgm_logevent_handle_errorndb_mgm_event_category 除外,它們定義於 /storage/ndb/include/mgmapi/ndb_logevent.h 中。

ndb_mgm_node_type 型別

描述

這用於對 NDB Cluster 中不同類型的節點進行分類。

列舉值

下表顯示了可能的值及其說明

表 3.1 ndb_mgm_node_type 型別值和說明。

描述
NDB_MGM_NODE_TYPE_UNKNOWN 不明
NDB_MGM_NODE_TYPE_API API 節點 (SQL 節點)
NDB_MGM_NODE_TYPE_NDB 資料節點
NDB_MGM_NODE_TYPE_MGM 管理節點

ndb_mgm_node_status 型別

描述

此類型描述叢集節點的狀態。

列舉值

下表顯示了可能的值及其說明

表 3.2 ndb_mgm_node_status 型別值和說明。

描述
NDB_MGM_NODE_STATUS_UNKNOWN 節點的狀態未知
NDB_MGM_NODE_STATUS_NO_CONTACT 無法連線節點
NDB_MGM_NODE_STATUS_NOT_STARTED 節點尚未執行啟動協定
NDB_MGM_NODE_STATUS_STARTING 節點正在執行啟動協定
NDB_MGM_NODE_STATUS_STARTED 節點正在執行
NDB_MGM_NODE_STATUS_SHUTTING_DOWN 節點正在關閉
NDB_MGM_NODE_STATUS_RESTARTING 節點正在重新啟動
NDB_MGM_NODE_STATUS_SINGLEUSER 節點正在單一使用者 (維護) 模式下執行
NDB_MGM_NODE_STATUS_RESUME 節點處於恢復模式
NDB_MGM_NODE_STATUS_CONNECTED 節點已連線

ndb_mgm_error 型別

描述

此類型的值是 MGM API 函數可能產生的錯誤碼。這些錯誤碼可在第 3.5 節「MGM API 錯誤」中找到。

另請參閱 ndb_mgm_get_latest_error() 以取得更多資訊。

Ndb_logevent_type 型別

描述

這些是 MGM API 中可用的記錄事件類型,依事件類別分組。(請參閱 ndb_mgm_event_category 型別。)

這些記錄事件類型中的大多數都具有一個或多個對應的記錄事件訊息;這些訊息列於 NDB Cluster 記錄訊息中。

列舉值

下表顯示了可能的值及其說明

表 3.3 Ndb_logevent_type 型別的值、說明和事件類別

類型 描述 類別
NDB_LE_Connected 節點已連線 NDB_MGM_EVENT_CATEGORY_CONNECTION
NDB_LE_Disconnected 節點已中斷連線 NDB_MGM_EVENT_CATEGORY_CONNECTION
NDB_LE_CommunicationClosed 與節點的通訊已關閉 NDB_MGM_EVENT_CATEGORY_CONNECTION
NDB_LE_CommunicationOpened 已開始與節點通訊 NDB_MGM_EVENT_CATEGORY_CONNECTION
NDB_LE_ConnectedApiVersion API 節點使用的 API 版本;在 MySQL 伺服器 (SQL 節點) 的情況下,這與 SELECT VERSION() 顯示的相同 NDB_MGM_EVENT_CATEGORY_CONNECTION
NDB_LE_GlobalCheckpointStarted 已開始全域檢查點 NDB_MGM_EVENT_CATEGORY_CHECKPOINT
NDB_LE_GlobalCheckpointCompleted 已完成全域檢查點 NDB_MGM_EVENT_CATEGORY_CHECKPOINT
NDB_LE_LocalCheckpointStarted 節點已開始本機檢查點 NDB_MGM_EVENT_CATEGORY_CHECKPOINT
NDB_LE_LocalCheckpointCompleted 節點已完成本機檢查點 NDB_MGM_EVENT_CATEGORY_CHECKPOINT
NDB_LE_LCPStoppedInCalcKeepGci 本機檢查點已中止,但保留了最後的全域檢查點 NDB_MGM_EVENT_CATEGORY_CHECKPOINT
NDB_LE_LCPFragmentCompleted 已完成資料表片段的複製 NDB_MGM_EVENT_CATEGORY_CHECKPOINT
NDB_LE_NDBStartStarted 節點已開始啟動 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_NDBStartCompleted 節點已完成啟動程序 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_STTORRYRecieved 節點收到 STTORRY 訊號,表示正在讀取組態資料;請參閱組態讀取階段 (STTOR 階段 -1)STTOR 階段 0 以取得更多資訊 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_StartPhaseCompleted 已完成節點啟動階段 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_CM_REGCONF 節點已收到 CM_REGCONF 訊號;請參閱STTOR 階段 1 以取得更多資訊 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_CM_REGREF 節點已收到 CM_REGREF 訊號;請參閱STTOR 階段 1 以取得更多資訊 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_FIND_NEIGHBOURS 節點已在叢集中發現其相鄰節點 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_NDBStopStarted 節點正在開始關閉 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_NDBStopCompleted 節點關閉已完成 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_NDBStopForced 正在強制關閉節點(通常表示叢集中出現嚴重問題) NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_NDBStopAborted 已開始關閉,但被迫繼續執行;例如,當在管理用戶端中對節點發出STOP 命令時會發生這種情況,如此一來,如果關閉該節點,叢集將無法保持所有資料可用 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_StartREDOLog 已開始重做記錄 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_StartLog 已開始記錄 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_UNDORecordsExecuted 節點已讀取並執行重做記錄中的所有記錄 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_StartReport 節點正在發出啟動報告 NDB_MGM_EVENT_CATEGORY_STARTUP
NDB_LE_NR_CopyDict 節點正在複製資料字典 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_NR_CopyDistr 節點正在複製資料散佈資訊 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_NR_CopyFragsStarted 節點正在複製資料表片段 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_NR_CopyFragDone 節點已完成複製資料表片段 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_NR_CopyFragsCompleted 節點已完成複製所有必要的資料表片段 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_NodeFailCompleted 已通知所有(剩餘)節點資料節點發生故障 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_NODE_FAILREP 資料節點發生故障 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_ArbitState 此事件用於報告叢集中仲裁的目前狀態 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_ArbitResult 此事件用於報告節點仲裁的結果 NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_GCP_TakeoverStarted 節點正在嘗試成為主要節點(以承擔 GCP 的責任) NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_GCP_TakeoverCompleted 節點已成為主要節點(並承擔 GCP 的責任) NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_LCP_TakeoverStarted 節點正在嘗試成為主要節點(以承擔 LCP 的責任) NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_LCP_TakeoverCompleted 節點已成為主要節點(並承擔 LCP 的責任) NDB_MGM_EVENT_CATEGORY_NODE_RESTART
NDB_LE_TransReportCounters 這表示交易活動的報告,大約每 10 秒鐘提供一次 NDB_MGM_EVENT_CATEGORY_STATISTIC
NDB_LE_OperationReportCounters 表示此節點執行的操作數量的報告(也大約每 10 秒鐘提供一次) NDB_MGM_EVENT_CATEGORY_STATISTIC
NDB_LE_TableCreated 已建立新資料表 NDB_MGM_EVENT_CATEGORY_STATISTIC
NDB_LE_UndoLogBlocked 由於記錄緩衝區即將溢位,因此還原記錄已封鎖 NDB_MGM_EVENT_CATEGORY_STATISTIC
NDB_LE_JobStatistic ... NDB_MGM_EVENT_CATEGORY_STATISTIC
NDB_LE_SendBytesStatistic 表示此節點每次傳送操作傳輸的平均位元組數的報告 NDB_MGM_EVENT_CATEGORY_STATISTIC
NDB_LE_ReceiveBytesStatistic 表示每次傳送到此節點的傳送操作收到的平均位元組數的報告 NDB_MGM_EVENT_CATEGORY_STATISTIC
NDB_LE_MemoryUsage 已對此節點發出 DUMP 1000 命令,並且它反過來報告其記憶體用量 NDB_MGM_EVENT_CATEGORY_STATISTIC
NDB_LE_TransporterError 傳輸器發生錯誤;請參閱NDB 傳輸器錯誤,以取得傳輸器錯誤代碼和訊息。 NDB_MGM_EVENT_CATEGORY_ERROR
NDB_LE_TransporterWarning 傳輸器中可能發生問題;請參閱NDB 傳輸器錯誤,以取得傳輸器錯誤代碼和訊息。 NDB_MGM_EVENT_CATEGORY_ERROR
NDB_LE_MissedHeartbeat 表示資料節點錯過另一個資料節點的預期心跳。 NDB_MGM_EVENT_CATEGORY_ERROR
NDB_LE_DeadDueToHeartbeat 一個資料節點連續錯過來自另一個資料節點的至少 3 個心跳,並報告它無法再與該資料節點通訊。 NDB_MGM_EVENT_CATEGORY_ERROR
NDB_LE_WarningEvent 表示警告訊息。 NDB_MGM_EVENT_CATEGORY_ERROR
NDB_LE_SentHeartbeat 已傳送節點心跳。 NDB_MGM_EVENT_CATEGORY_INFO
NDB_LE_CreateLogBytes ... NDB_MGM_EVENT_CATEGORY_INFO
NDB_LE_InfoEvent 表示資訊性訊息。 NDB_MGM_EVENT_CATEGORY_INFO
NDB_LE_SingleUser 叢集已進入或退出單一使用者模式。 NDB_MGM_EVENT_CATEGORY_INFO
NDB_LE_EventBufferStatus 此類型的事件表示事件緩衝區可能過度使用。 NDB_MGM_EVENT_CATEGORY_INFO
NDB_LE_EventBufferStatus2 NDB_LE_EventBufferStatus 的延伸,提供改進的事件緩衝區狀態報告;在 NDB 7.5 中新增。 NDB_MGM_EVENT_CATEGORY_INFO
NDB_LE_EventBufferStatus3 NDB_LE_EventBufferStatus 的延伸,使用 64 位元值表示總位元組數、最大位元組數和已配置的位元組數;在 NDB 7.5.23、7.6.19 和 8.0.26 中新增。 NDB_MGM_EVENT_CATEGORY_INFO
NDB_LE_BackupStarted 已啟動備份。 NDB_MGM_EVENT_CATEGORY_BACKUP
NDB_LE_BackupFailedToStart 備份啟動失敗。 NDB_MGM_EVENT_CATEGORY_BACKUP
NDB_LE_BackupCompleted 備份已成功完成。 NDB_MGM_EVENT_CATEGORY_BACKUP
NDB_LE_BackupAborted 進行中的備份已由使用者終止。 NDB_MGM_EVENT_CATEGORY_BACKUP

ndb_mgm_event_severity 類型

描述

這些是日誌事件嚴重性,用於透過ndb_mgm_set_clusterlog_severity_filter()篩選叢集日誌,並透過ndb_mgm_listen_event()篩選事件監聽。

列舉值

下表顯示了可能的值及其說明

表 3.4 類型 ndb_mgm_event_severity 值和說明

描述
NDB_MGM_ILLEGAL_EVENT_SEVERITY 指定了無效的事件嚴重性。
NDB_MGM_EVENT_SEVERITY_ON 已啟用叢集記錄。
NDB_MGM_EVENT_SEVERITY_DEBUG 僅用於 NDB 叢集開發。
NDB_MGM_EVENT_SEVERITY_INFO 資訊性訊息。
NDB_MGM_EVENT_SEVERITY_WARNING 不屬於錯誤的情況,但可能需要特殊處理。
NDB_MGM_EVENT_SEVERITY_ERROR 應該修正的非致命錯誤情況。
NDB_MGM_EVENT_SEVERITY_CRITICAL 嚴重的狀況,例如裝置錯誤或記憶體不足錯誤。
NDB_MGM_EVENT_SEVERITY_ALERT 需要立即關注的情況,例如叢集損壞。
NDB_MGM_EVENT_SEVERITY_ALL 所有嚴重性層級。

如需了解此類型如何被這些函式使用,請參閱ndb_mgm_set_clusterlog_severity_filter()ndb_mgm_listen_event()

ndb_logevent_handle_error 類型

描述

此類型用於描述日誌事件錯誤。

列舉值

下表顯示了可能的值及其說明

表 3.5 類型 ndb_logevent_handle_error 值和說明

描述
NDB_LEH_NO_ERROR 無錯誤。
NDB_LEH_READ_ERROR 讀取錯誤。
NDB_LEH_MISSING_EVENT_SPECIFIER 無效、不完整或遺失的日誌事件規範。
NDB_LEH_UNKNOWN_EVENT_TYPE 未知的日誌事件類型。
NDB_LEH_UNKNOWN_EVENT_VARIABLE 未知的日誌事件變數。
NDB_LEH_INTERNAL_ERROR 內部錯誤。
NDB_LEH_CONNECTION_ERROR 連線錯誤,或與管理伺服器的連線遺失。

NDB_LEH_CONNECTION_ERROR 在 NDB 7.4.13 中新增。(錯誤 #19474782)

ndb_mgm_event_category 類型

描述

這些是Ndb_logevent_type 類型中引用的日誌事件類別。MGM API 函式 ndb_mgm_set_clusterlog_loglevel()ndb_mgm_listen_event()也會使用它們。

列舉值

下表顯示了可能的值及其說明

表 3.6 類型 ndb_mgm_event_category 值和說明

描述
NDB_MGM_ILLEGAL_EVENT_CATEGORY 無效的日誌事件類別。
NDB_MGM_EVENT_CATEGORY_STARTUP 啟動期間發生的日誌事件。
NDB_MGM_EVENT_CATEGORY_SHUTDOWN 關機期間發生的日誌事件。
NDB_MGM_EVENT_CATEGORY_STATISTIC 統計日誌事件。
NDB_MGM_EVENT_CATEGORY_CHECKPOINT 與檢查點相關的日誌事件。
NDB_MGM_EVENT_CATEGORY_NODE_RESTART 節點重新啟動期間發生的日誌事件。
NDB_MGM_EVENT_CATEGORY_CONNECTION 與叢集節點之間的連線相關的日誌事件。
NDB_MGM_EVENT_CATEGORY_BACKUP 與備份相關的日誌事件。
NDB_MGM_EVENT_CATEGORY_CONGESTION 與壅塞相關的日誌事件。
NDB_MGM_EVENT_CATEGORY_INFO 未分類的日誌事件(嚴重性層級為 INFO)。
NDB_MGM_EVENT_CATEGORY_ERROR 未分類的日誌事件(嚴重性層級為 WARNINGERRORCRITICALALERT)。

如需更多資訊,請參閱ndb_mgm_set_clusterlog_loglevel()ndb_mgm_listen_event()