25.4.2.1 NDB 集群数据节点配置参数
本节中的列表提供了在[ndbd]
或[ndbd default]
部分的config.ini
文件中配置 NDB 集群数据节点的参数。关于每个参数的详细描述和其他信息,请见第25.4.3.6节,“定义 NDB 集群数据节点”。
这些参数也适用于ndbmtd,NDB 集群数据节点守护进程的多线程版本,以及ndbd。NDB 集群数据节点守护进程的参数列表后面将单独列出。
-
仲裁
:在节点故障时避免脑裂问题的仲裁方式。 -
仲裁超时
:数据库分区等待仲裁信号的最大时间(毫秒)。 -
备份数据缓冲大小
:备份时默认的数据缓冲大小(以字节为单位)。 -
BackupDataDir
: 备份存储路径。注意,字符串'/BACKUP'总是被追加到这个设置中,因此实际默认值是FileSystemPath/BACKUP。 -
BackupDiskWriteSpeedPct
: 在启动备份时,为LCPs保留数据节点的已分配最大写速度(MaxDiskWriteSpeed)的百分比设置。 -
BackupLogBufferSize
: 备份日志缓冲区的默认大小(以字节为单位)。 -
BackupMaxWriteSize
: 备份时文件系统写入的最大大小(以字节为单位)。 -
BackupMemory
: 每个节点分配的备份数量(以字节为单位)。 -
BackupReportFrequency
: 备份状态报告的频率(以秒为单位),在备份过程中每隔一定时间发送一次报告。 -
BackupWriteSize
: 备份时文件系统写入的默认大小(以字节为单位)。 -
BatchSizePerLocalScan
: 用于计算扫描持锁记录的数量。 -
BuildIndexThreads
: 在系统或节点重启时用于建立有序索引的线程数。也适用于运行 ndb_restore --rebuild-indexes。将该参数设置为 0 可以禁用多线程建立有序索引。 -
CompressedBackup
: 在写入备份时使用 zlib 进行压缩。 -
CompressedLCP
: 使用 zlib 对 LCP 进行压缩写入。 -
ConnectCheckIntervalDelay
: 数据节点连接检查阶段的时间间隔。数据节点在 1 个间隔内无响应后被认为是疑似死节点,在 2 个间隔内无响应后被认为是死亡节点。 -
CrashOnCorruptedTuple
: 启用时,强制节点在检测到损坏的元组时关闭。 -
DataDir
: 该节点的数据目录。 -
DataMemory
: 每个数据节点用于存储数据的字节数;受系统 RAM 可用性和 IndexMemory 大小的限制。 -
DefaultHashMapSize
: 设置用于表哈希映射的大小(以 bucket 为单位)。支持三个值:0、240 和 3840。 -
DictTrace
: 启用DBDICT调试;用于NDB开发。 -
DiskDataUsingSameDisk
: 将其设置为false,如果 Disk Data 表空间位于不同的物理磁盘上。 -
DiskIOThreadPool
: 文件访问的未绑定线程数,仅适用于磁盘数据。 -
Diskless
: 不使用磁盘运行。 -
DiskPageBufferEntries
: 分配给磁盘页面缓存的内存;非常大型磁盘事务可能需要增加该值。 -
DiskPageBufferMemory
: 每个数据节点为磁盘页面缓存分配的字节数。 -
DiskSyncSize
: 文件写入到同步之前写入的数据量。 -
EnablePartialLcp
: 启用部分 LCP(true);如果禁用(false),所有 LCP 都将写入完整检查点。 -
EnableRedoControl
: 启用自适应checkpointing速度来控制redo日志使用。 -
加密文件系统
: 加密本地检查点和表空间文件。实验性功能,不支持生产环境。 -
EventLogBufferSize
: 数据节点中的 NDB 日志事件圆形缓冲区大小。 -
ExecuteOnComputer
: 指向早先定义的计算机字符串。 -
ExtraSendBufferMemory
: 在 TotalSendBufferMemory 或 SendBufferMemory 分配的 send 缓冲区之外使用的内存。默认值(0)允许最多 16MB。 -
FileSystemPath
: 数据节点存储数据的目录路径(目录必须存在)。 -
FileSystemPathDataFiles
: 数据节点存储 Disk Data 文件的目录路径。默认值是 FilesystemPathDD,如果设置;否则,使用 FilesystemPath 如果设置;否则,使用 DataDir 的值。 -
FileSystemPathDD
: 数据节点存储 Disk Data 和 undo 文件的目录路径。默认值是 FilesystemPath,如果设置;否则,使用 DataDir 的值。 -
FileSystemPathUndoFiles
: 数据节点在 Disk Data 中存储 undo 文件的目录路径。默认值是 FilesystemPathDD,如果设置了;否则,如果设置了 FilesystemPath,则使用它;否则,使用 DataDir 的值。 -
FragmentLogFileSize
: 每个 redo 日志文件的大小。 -
HeartbeatIntervalDbApi
: API 节点和数据节点之间的心跳时间。 (API 连接在 3 次missed heartbeats 后关闭)。 -
HeartbeatIntervalDbDb
: 数据节点之间的心跳时间;数据节点在 3 次missed heartbeats 后被认为是死亡的。 -
HeartbeatOrder
: 设置数据节点在检查其他数据节点心跳以确定给定节点是否仍然活动和连接到集群的顺序。所有数据节点都必须设置为零或具有distinct非零值;请参阅文档中的 further guidance。 -
HostName
: 这个数据节点的主机名或 IP 地址。 -
IndexMemory
: 每个数据节点为存储索引分配的字节数;受可用系统 RAM 和 DataMemory 大小的限制。 -
索引统计自动创建
: 启用或禁用在索引创建时自动收集统计信息。 -
索引统计自动更新
: 监控索引变化并触发自动统计信息更新。 -
索引统计保存比例
: 确定存储索引统计信息大小的比例因子。 -
索引统计保存大小
: 每个索引保存统计信息的最大字节数。 -
索引统计触发百分比
: DML 操作对索引统计信息更新的阈值百分比。该值将根据 IndexStatTriggerScale 缩小。 -
索引统计触发比例
: 对 IndexStatTriggerPct 进行缩小的因子。将其设置为 0 可以禁用缩小。 -
索引统计更新延迟
: 对给定索引自动统计信息更新的最小延迟。0 表示无延迟。 -
初始化分片日志文件
: 使用稀疏或完整格式初始化分片日志文件。 -
初始日志文件组
: 描述在初始启动时创建的日志文件组。请查看文档中的格式说明。 -
初始打开文件数
: 初始每个数据节点打开的文件数(每个线程对应一个文件)。 -
初始表空间
: 描述在初始启动时创建的表空间。请查看文档中的格式说明。 -
插入恢复工作
: 用于插入行的恢复工作百分比;在使用部分本地检查点时无效。 -
保持活动发送间隔
: 数据节点之间的保持活动信号时间间隔,单位为毫秒。设置为 0 可以禁用。 -
延迟分配
: 在连接到管理服务器后分配内存。 -
LCP扫描进度超时
: 局部检查点碎片扫描可以被阻塞的最大时间,单位为毫秒。设置为 0 可以禁用。 -
LocationDomainId
: 将数据节点分配到特定的可用性域或区域。0(默认)保持未设置。 -
LockExecuteThreadToCPU
: CPU ID 的逗号分隔列表。 -
LockMaintThreadsToCPU
: 表示维护线程运行的 CPU ID。 -
LockPagesInMainMemory
: 0=禁用锁定,1=在内存分配后锁定,2=在内存分配前锁定。 -
LogLevelCheckpoint
: 在 stdout 中打印本地和全局检查点信息的日志级别。 -
LogLevelCongestion
: 在 stdout 中打印拥堵信息的日志级别。 -
LogLevelConnection
: 在 stdout 中打印节点连接/断开信息的日志级别。 -
LogLevelError
: 在 stdout 中打印传输器、心跳错误信息的日志级别。 -
LogLevelInfo
: 在 stdout 中打印心跳和日志信息的日志级别。 -
LogLevelNodeRestart
: 节点重启和节点故障信息的级别,打印到stdout。 -
LogLevelShutdown
: 节点关闭信息的级别,打印到stdout。 -
LogLevelStartup
: 节点启动信息的级别,打印到stdout。 -
LogLevelStatistic
: 事务、操作和传输器信息的级别,打印到stdout。 -
LongMessageBuffer
: 每个数据节点为内部长消息分配的字节数量。 -
MaxAllocate
: 不再使用, 无效。 -
MaxBufferedEpochs
: 订阅节点可以滞后的 epochs 数量(未处理 epochs)。超过这个数量将导致滞后订阅者被断开连接。 -
MaxBufferedEpochBytes
: epoch 缓冲区的总字节数量。 -
MaxDiskDataLatency
: 磁盘访问平均延迟的最大允许值(毫秒),在开始中止事务时。 -
MaxDiskWriteSpeed
: 在无重启情况下,LCP 和备份可以写入的最大字节数每秒。 -
MaxDiskWriteSpeedOtherNodeRestart
: 在另一个节点重启时,LCP 和备份可以写入的最大字节数每秒。 -
MaxDiskWriteSpeedOwnRestart
: 在本节点重启时,LCP 和备份可以写入的最大字节数每秒。 -
MaxFKBuildBatchSize
: 建立外键时使用的扫描批处理大小的最大值。增加这个值可能会加速外键建立,但也会影响 ongoing 交通。 -
MaxDMLOperationsPerTransaction
: 事务的大小限制;如果事务需要更多的 DML 操作,则中止事务。 -
MaxLCPStartDelay
: LCP 对检查点锁定(以允许其他数据节点完成元数据同步)poll 的时间(秒),在将自己放入并行恢复表数据的锁队列时。 -
MaxNoOfAttributes
: 数据库中存储的总属性数量(所有表之和). -
MaxNoOfConcurrentIndexOperations
: 一个数据节点上可以同时执行的索引操作总数. -
MaxNoOfConcurrentOperations
: 事务协调器中的操作记录最大数量. -
MaxNoOfConcurrentScans
: 数据节点上同时执行的扫描操作最大数量. -
MaxNoOfConcurrentSubOperations
: 同时执行的子操作最大数量. -
MaxNoOfConcurrentTransactions
: 一个数据节点上可以同时执行的事务总数,整个集群中可以同时执行的事务总数是这个值乘以数据节点数量. -
MaxNoOfFiredTriggers
: 一个数据节点上可以同时触发的触发器总数. -
MaxNoOfLocalOperations
: 本数据节点上定义的操作记录的最大数量。 -
MaxNoOfLocalScans
: 本数据节点上并行执行的最大fragment扫描数量。 -
MaxNoOfOpenFiles
: 每个数据节点打开的文件的最大数量(每个线程对应一个文件)。 -
MaxNoOfOrderedIndexes
: 系统中定义的有序索引的总数量。 -
MaxNoOfSavedMessages
: 错误日志中写入的错误消息的最大数量和保留的trace文件的最大数量。 -
MaxNoOfSubscribers
: 订阅的最大数量。 -
MaxNoOfSubscriptions
: 订阅的最大数量(默认0 = MaxNoOfTables)。 -
MaxNoOfTables
: 数据库中存储的NDB表的总数量的建议值。 -
MaxNoOfTriggers
: 系统中定义的触发器的总数量。 -
MaxNoOfUniqueHashIndexes
: 系统中可以定义的唯一哈希索引总数。 -
MaxParallelCopyInstances
: 节点重启期间并行复制的实例数。默认值为0,使用双节点中的 LDM 数量,以最多 16 为止。 -
MaxParallelScansPerFragment
: 每个分片的并行扫描最大数。达到这个限制后,扫描将被序列化。 -
MaxReorgBuildBatchSize
: 表分区重组时使用的扫描批量大小。增加这个值可能会加速表分区重组,但也将影响正在进行的流量。 -
MaxStartFailRetries
: 数据节点在启动时失败的最大重试次数,需要 StopOnError = 0。将其设置为 0 将导致启动尝试继续无限期。 -
MaxUIBuildBatchSize
: 建立唯一键时使用的扫描批量大小。增加这个值可能会加速唯一键的建立,但也将影响正在进行的流量。 -
MemReportFrequency
: 内存报告的频率(以秒为单位);0 = 只在超过百分比限制时报告。 -
MinDiskWriteSpeed
: 数据节点和备份过程中每秒最小可写字节数。 -
MinFreePct
: 重新启动时保留的内存资源百分比。 -
NodeGroup
: 数据节点所属的节点组;仅在集群初始启动时使用。 -
NodeGroupTransporters
: 在同一个节点组中的节点之间使用的传输器数量。 -
NodeId
: 在集群中唯一标识数据节点的数字。 -
NoOfFragmentLogFiles
: 数据节点中的每个文件集(共4个)中16MB redo日志文件的数量。 -
NoOfReplicas
: 数据库中的所有数据副本数量。 -
Numa
: (仅在Linux上使用;需要libnuma) 控制NUMA支持。将其设置为0,允许系统确定数据节点进程的交错方式;将其设置为1,表示由数据节点确定。 -
ODirect
: 可以使用O_DIRECT文件读写操作时启用。 -
ODirectSyncFlag
: O_直接写入被视为同步写入;在 ODirect 不可用、InitFragmentLogFiles 设置为 SPARSE 或同时设置时被忽略。 -
RealtimeScheduler
: 当 true 时,数据节点线程将被调度为实时线程。默认值为 false。 -
RecoveryWork
: LCP 文件存储空间的百分比:更高的值在正常操作中意味着少量工作,在恢复过程中意味着更多工作。 -
RedoBuffer
: 每个数据节点为写入 redo 日志分配的字节数。 -
RedoOverCommitCounter
: 如果 RedoOverCommitLimit 已经超过这个次数,事务将被中止,并且操作将根据 DefaultOperationRedoProblemAction 指定的方式处理。 -
RedoOverCommitLimit
: 每次刷新当前 redo 缓冲区所需的时间超过这个秒数时,次数将与 RedoOverCommitCounter 进行比较。 -
RequireEncryptedBackup
: 是否需要加密备份(1 表示加密要求,否则为 0)。 -
RequireCertificate
: 节点需要在TLS搜索路径中找到密钥和证书。 -
RequireTls
: 需要使用TLS身份验证的安全连接。 -
ReservedConcurrentIndexOperations
: 同一数据节点上同时执行的索引操作数量,拥有专门资源。 -
ReservedConcurrentOperations
: 交易协调器在同一数据节点上同时执行的操作数量,拥有专门资源。 -
ReservedConcurrentScans
: 同一数据节点上同时执行的扫描数量,拥有专门资源。 -
ReservedConcurrentTransactions
: 同一数据节点上同时执行的事务数量,拥有专门资源。 -
ReservedFiredTriggers
: 同一数据节点上同时执行的触发器数量,拥有专门资源。 -
ReservedLocalScans
: 同一数据节点上同时执行的局部扫描数量,拥有专门资源。 -
ReservedTransactionBufferMemory
: 数据节点每个数据节点动态分配的键和属性数据缓冲区空间(以字节为单位)。 -
RestartOnErrorInsert
: 在启用StopOnError时,插入错误时的重启类型控制。 -
RestartSubscriberConnectTimeout
: 数据节点等待订阅API节点连接的时间量(以微秒为单位)。设置为0以禁用超时,总是将其解析到最近的完整秒。 -
SchedulerExecutionTimer
: 调度器在发送前执行的微秒数。 -
SchedulerResponsiveness
: 设置NDB调度器响应优化0-10;更高的值提供更好的响应时间,但低于通过率。 -
SchedulerSpinTimer
: 调度器在睡眠前执行的微秒数。 -
ServerPort
: API节点从API节点设置transporter的端口号。 -
SharedGlobalMemory
: 每个数据节点分配的共享全局内存总数(以字节为单位)。 -
SpinMethod
: 确定数据节点使用的 spin 方法;请查看详细文档。 -
StartFailRetryDelay
: 启动失败后延迟 retry 的秒数;需要 StopOnError = 0。 -
StartFailureTimeout
: 等待超时毫秒数(0=等待_forever_)。 -
StartNoNodeGroupTimeout
: 等待没有 nodegroup 的节点超时时间(0=等待_forever_)。 -
StartPartialTimeout
: 等待部分启动超时毫秒数(0=等待_forever_)。 -
StartPartitionedTimeout
: 等待分区启动超时毫秒数(0=等待_forever_)。 -
StartupStatusReportFrequency
: 启动时状态报告的频率。 -
StopOnError
: 设置为 0 时,数据节点将自动重启并恢复在节点故障后。 -
StringMemory
: 字符串内存的默认大小(0到100为最大值百分比,101+为实际字节)。 -
TcpBind_INADDR_ANY
: 将IP_ADDR_ANY绑定,以便从任何地方建立连接(用于自动生成的连接)。 -
TimeBetweenEpochs
: 同步复制使用的时间间隔(以秒为单位)。 -
TimeBetweenEpochsTimeout
: 时间间隔超时将导致节点关闭。 -
TimeBetweenGlobalCheckpoints
: 事务到磁盘的组提交时间间隔。 -
TimeBetweenGlobalCheckpointsTimeout
: 到磁盘的事务组提交的最小超时时间。 -
TimeBetweenInactiveTransactionAbortCheck
: inactive事务检查的时间间隔。 -
TimeBetweenLocalCheckpoints
: 数据库快照的时间间隔(以base-2对数字节为单位)。 -
TimeBetweenWatchDogCheck
: 数据节点内部执行检查的时间间隔。 -
TimeBetweenWatchDogCheckInitial
: 数据节点内部执行检查的时间间隔(早期启动阶段,内存分配时)。 -
TotalSendBufferMemory
: 所有传输器发送缓冲区的总内存大小。 -
TransactionBufferMemory
: 每个数据节点为键和属性数据分配的动态缓冲区空间(以字节为单位)。 -
TransactionDeadlockDetectionTimeout
: 数据节点在执行请求时可以花费的时间。这个时间是事务协调器等待每个参与事务的数据节点执行请求。如果数据节点花费了超过这个时间,事务将被中止。 -
TransactionInactiveTimeout
: 应用程序等待执行下一个事务部分的毫秒数。这是事务协调器等待应用程序执行或发送下一个事务部分(查询、语句)的时间。如果应用程序花费了太多时间,事务将被中止。超时为0意味着应用程序永不超时。 -
事务内存
: 每个数据节点分配的用于事务的内存。 -
两次初始节点重启复制
: 在初始节点重启时,使用2次复制来启用多线程的有序索引构建。 -
UndoDataBuffer
: 未使用;无效。 -
UndoIndexBuffer
: 未使用;无效。 -
使用共享内存
: 使用共享内存连接在该主机上运行的数据节点和API节点之间。 -
watchdog立即杀死
: 当true时,watchdog出现问题时将立即杀死线程;用于测试和调试。
以下参数เฉพาะndbmtd:
-
自动线程配置
: 使用自动线程配置;覆盖ThreadConfig和MaxNoOfExecutionThreads的设置,并禁用ClassicFragmentation。 -
传统分片
: 当为true时,使用传统表分片;将其设置为false以启用灵活分布fragments中的LDMs。由AutomaticThreadConfig禁用。 -
启用多线程备份
: 启用多线程备份。 -
MaxNoOfExecutionThreads
: 仅适用于ndbmtd,指定执行线程的最大数量。 -
MaxSendDelay
: ndbmtd发送延迟的最大微秒数。 -
NoOfFragmentLogParts
: 该数据节点所属的redo日志文件组数量。 -
NumCPUs
: 使用AutomaticThreadConfig时指定要使用的CPU数量。 -
PartitionsPerNode
: 在每个数据节点上创建表分区的数量;如果ClassicFragmentation启用,则不使用。 -
ThreadConfig
: 多线程数据节点(ndbmtd)的配置;默认为空字符串;请查看文档以获取语法和其他信息。