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 Cluster 开发
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 类型

描述

这些是 The Ndb_logevent_type 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()