本节中的列表提供了有关在配置 NDB Cluster 数据节点的 config.ini
文件的 [ndbd]
或 [ndbd default]
部分中使用的参数的信息。有关这些参数的详细描述和其他附加信息,请参见 第 25.4.3.6 节,“定义 NDB Cluster 数据节点”。
这些参数也适用于 ndbmtd,这是 ndbd 的多线程版本。下面列出了 ndbmtd 特定的参数。
Arbitration
:如何执行仲裁以避免在节点故障的情况下出现脑裂问题。ArbitrationTimeout
:数据库分区等待仲裁信号的最长时间(毫秒)。BackupDataBufferSize
:备份数据缓冲区的默认大小(字节)。BackupDataDir
:存储备份的路径。请注意,字符串 '/BACKUP' 始终附加到此设置,因此 *有效* 默认值为 FileSystemPath/BACKUP。BackupDiskWriteSpeedPct
:设置数据节点分配的最大写入速度(MaxDiskWriteSpeed)的百分比,以便在启动备份时为 LCP 预留。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
:设置用于表哈希映射的桶大小。支持三个值:0、240 和 3840。DictTrace
:启用 DBDICT 调试;用于 NDB 开发。DiskDataUsingSameDisk
:如果 Disk Data 表空间位于独立的物理磁盘上,则设置为 false。DiskIOThreadPool
:文件访问的无绑定线程数量,仅适用于磁盘数据。Diskless
:在不使用磁盘的情况下运行。DiskPageBufferEntries
:在 DiskPageBufferMemory 中分配的内存;非常大的磁盘事务可能需要增加此值。DiskPageBufferMemory
:每个数据节点上分配给磁盘页面缓冲区缓存的字节数。DiskSyncSize
:在强制同步之前写入文件的數據量。EnablePartialLcp
:启用部分 LCP(true);如果禁用(false),则所有 LCP 写入完整的检查点。EnableRedoControl
:启用自适应检查点速度以控制重做日志使用。EncryptedFileSystem
:加密本地检查点和表空间文件。实验性;在生产环境中不受支持。EventLogBufferSize
:数据节点内 NDB 日志事件的循环缓冲区大小。ExecuteOnComputer
:引用之前定义的 COMPUTER 的字符串。ExtraSendBufferMemory
:用于发送缓冲区的内存,除了由 TotalSendBufferMemory 或 SendBufferMemory 分配的内存之外。默认值(0)允许最多 16MB。FileSystemPath
:数据节点存储数据的目录路径(目录必须存在)。FileSystemPathDataFiles
:数据节点存储 Disk Data 文件的目录路径。默认值为 FilesystemPathDD,如果已设置;否则,如果已设置,则使用 FilesystemPath;否则,使用 DataDir 的值。FileSystemPathDD
:数据节点存储 Disk Data 和撤消文件的目录路径。默认值为 FilesystemPath,如果已设置;否则,使用 DataDir 的值。FileSystemPathUndoFiles
:数据节点存储 Disk Data 撤消文件的目录路径。默认值为 FilesystemPathDD,如果已设置;否则,如果已设置,则使用 FilesystemPath;否则,使用 DataDir 的值。FragmentLogFileSize
:每个重做日志文件的大小。HeartbeatIntervalDbApi
:API 节点与数据节点心跳之间的时间。(在 3 次心跳丢失后关闭 API 连接)。HeartbeatIntervalDbDb
:数据节点之间心跳的时间;在 3 次心跳丢失后数据节点被认为是已死的。HeartbeatOrder
:设置数据节点检查彼此心跳的顺序,以确定给定节点是否仍在活动状态并连接到集群。必须对所有数据节点为零,或者对所有数据节点为不同的非零值;请参见文档以获取更多指导。HostName
:此数据节点的主机名或 IP 地址。IndexMemory
:每个数据节点上分配给存储索引的字节数;受可用系统 RAM 和 DataMemory 大小限制。IndexStatAutoCreate
:启用/禁用在创建索引时自动收集统计信息。IndexStatAutoUpdate
:监控索引以进行更改并触发自动统计更新。IndexStatSaveScale
:确定存储的索引统计信息大小时使用的缩放因子。IndexStatSaveSize
:每个索引保存的统计信息的字节最大大小。IndexStatTriggerPct
:索引统计更新的 DML 操作更改阈值百分比。该值按 IndexStatTriggerScale 缩减。IndexStatTriggerScale
:按此值缩减 IndexStatTriggerPct,乘以索引大小的以 2 为底的对数,用于大型索引。设置为 0 以禁用缩放。IndexStatUpdateDelay
:给定索引的自动索引统计更新之间的最短延迟。0 表示没有延迟。InitFragmentLogFiles
:初始化片段日志文件,使用稀疏或完整格式。InitialLogFileGroup
:描述在初始启动期间创建的日志文件组。请参见文档以了解格式。InitialNoOfOpenFiles
:每个数据节点打开的文件的初始数量。(每个文件创建一个线程)。InitialTablespace
:描述在初始启动期间创建的表空间。请参见文档以了解格式。InsertRecoveryWork
:用于插入行的 RecoveryWork 百分比;除非使用部分本地检查点,否则无效。KeepAliveSendInterval
:数据节点之间链路上保持活动信号之间的时间,以毫秒为单位。设置为 0 以禁用。LateAlloc
:在建立与管理服务器的连接后分配内存。LcpScanProgressTimeout
:本地检查点片段扫描可以被阻塞的最长时间,在此之后节点会关闭,以确保系统范围内的 LCP 进度。使用 0 禁用。LocationDomainId
:将此数据节点分配给特定的可用性域或区域。0(默认值)不设置。LockExecuteThreadToCPU
:CPU ID 的逗号分隔列表。LockMaintThreadsToCPU
: 指示维护线程运行的 CPU ID。LockPagesInMainMemory
: 0=禁用锁定,1=内存分配后锁定,2=内存分配前锁定。LogLevelCheckpoint
: 打印到标准输出的本地和全局检查点信息的日志级别。LogLevelCongestion
: 打印到标准输出的拥塞信息的级别。LogLevelConnection
: 打印到标准输出的节点连接/断开连接信息的级别。LogLevelError
: 打印到标准输出的传输器和心跳错误。LogLevelInfo
: 打印到标准输出的心跳和日志信息。LogLevelNodeRestart
: 打印到标准输出的节点重启和节点故障信息的级别。LogLevelShutdown
: 打印到标准输出的节点关闭信息的级别。LogLevelStartup
: 打印到标准输出的节点启动信息的级别。LogLevelStatistic
: 打印到标准输出的事务、操作和传输器信息的级别。LongMessageBuffer
: 每个数据节点为内部长消息分配的字节数。MaxAllocate
: 不再使用;没有效果。MaxBufferedEpochs
: 允许订阅节点落后(未处理的纪元)的纪元数量。超过该值会导致落后的订阅者断开连接。MaxBufferedEpochBytes
: 为缓冲纪元分配的总字节数。MaxDiskDataLatency
: 在开始中止事务之前允许的磁盘访问平均延迟(ms)的最大值。MaxDiskWriteSpeed
: 当没有重启正在进行时,LCP 和备份可以写入的每秒字节数的最大值。MaxDiskWriteSpeedOtherNodeRestart
: 当另一个节点正在重启时,LCP 和备份可以写入的每秒字节数的最大值。MaxDiskWriteSpeedOwnRestart
: 当此节点正在重启时,LCP 和备份可以写入的每秒字节数的最大值。MaxFKBuildBatchSize
: 用于构建外键的最大扫描批次大小。增加此值可能会加快外键的构建速度,但也影响正在进行的流量。MaxDMLOperationsPerTransaction
: 限制事务大小;如果事务需要超过此数量的 DML 操作,则会中止事务。MaxLCPStartDelay
: LCP 轮询检查点互斥锁(以允许其他数据节点完成元数据同步)的时间(秒),然后将自己放入锁定队列以并行恢复表数据。MaxNoOfAttributes
: 建议存储在数据库中的属性总数(所有表的总和)。MaxNoOfConcurrentIndexOperations
: 一个数据节点上可以同时执行的索引操作总数。MaxNoOfConcurrentOperations
: 事务协调器中的操作记录的最大数量。MaxNoOfConcurrentScans
: 数据节点上同时执行的扫描的最大数量。MaxNoOfConcurrentSubOperations
: 同时进行的订阅者操作的最大数量。MaxNoOfConcurrentTransactions
: 此数据节点上同时执行的事务的最大数量,集群中所有数据节点上可以同时执行的事务总数是该值乘以数据节点的数量。MaxNoOfFiredTriggers
: 一个数据节点上可以同时触发的触发器总数。MaxNoOfLocalOperations
: 此数据节点上定义的操作记录的最大数量。MaxNoOfLocalScans
: 此数据节点上并行进行的片段扫描的最大数量。MaxNoOfOpenFiles
: 每个数据节点打开的文件的最大数量。(每个文件创建一个线程)。MaxNoOfOrderedIndexes
: 系统中可以定义的有序索引总数。MaxNoOfSavedMessages
: 错误日志中要写入的错误消息的最大数量,以及要保留的跟踪文件最大数量。MaxNoOfSubscribers
: 订阅者的最大数量。MaxNoOfSubscriptions
: 订阅的最大数量(默认值为 0 = MaxNoOfTables)。MaxNoOfTables
: 建议存储在数据库中的 NDB 表总数。MaxNoOfTriggers
: 系统中可以定义的触发器总数。MaxNoOfUniqueHashIndexes
: 系统中可以定义的唯一哈希索引总数。MaxParallelCopyInstances
: 节点重启期间并行副本的数量。默认值为 0,它使用两个节点上的 LDM 数量,最大为 16。MaxParallelScansPerFragment
: 每个片段的并行扫描的最大数量。达到此限制后,扫描将被序列化。MaxReorgBuildBatchSize
: 用于重组表分区的最大扫描批次大小。增加此值可能会加快表分区重组的速度,但也影响正在进行的流量。MaxStartFailRetries
: 数据节点在启动时发生故障时的最大重试次数,需要 StopOnError = 0。设置为 0 将导致启动尝试无限期地继续。MaxUIBuildBatchSize
: 用于构建唯一键的最大扫描批次大小。增加此值可能会加快唯一键的构建速度,但也影响正在进行的流量。MemReportFrequency
: 内存报告的频率(秒);0 = 仅在超过百分比限制时报告。MinDiskWriteSpeed
: LCP 和备份可以写入的每秒字节数的最小值。MinFreePct
: 为重启保留的内存资源百分比。NodeGroup
: 数据节点所属的节点组;仅在集群的初始启动期间使用。NodeGroupTransporters
: 同一节点组中的节点之间使用的传输器数量。NodeId
: 唯一标识集群中所有节点中的数据节点的数字。NoOfFragmentLogFiles
: 每个数据节点的 4 个文件集中每个文件集中的 16 MB 重做日志文件数量。NoOfReplicas
: 数据库中所有数据的副本数量。Numa
: (仅限 Linux;需要 libnuma)控制 NUMA 支持。设置为 0 允许系统确定数据节点进程是否使用交错;1 表示由数据节点确定。ODirect
: 尽可能使用 O_DIRECT 文件读写。ODirectSyncFlag
: O_DIRECT 写入被视为同步写入;当 ODirect 未启用、InitFragmentLogFiles 设置为 SPARSE 或两者都设置时,将被忽略。RealtimeScheduler
: 当为 true 时,数据节点线程被调度为实时线程。默认值为 false。RecoveryWork
: LCP 文件的存储开销百分比:值越大,正常操作的工作量越少,恢复期间的工作量越多。RedoBuffer
: 每个数据节点为写入重做日志分配的字节数。RedoOverCommitCounter
: 当 RedoOverCommitLimit 被超过此次数时,事务将被中止,并且操作将根据 DefaultOperationRedoProblemAction 的规定进行处理。RedoOverCommitLimit
: 每次刷新当前重做缓冲区的时间超过此秒数时,会将发生次数与 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 节点的传入连接设置传输器的端口。SharedGlobalMemory
: 每个数据节点为任何用途分配的总字节数。SpinMethod
: 确定数据节点使用的自旋方法;有关详细信息,请参阅文档。StartFailRetryDelay
: 启动失败后重试之前的延迟(以秒为单位);要求 StopOnError = 0。StartFailureTimeout
: 终止前等待的毫秒数。(0=无限期等待)。StartNoNodeGroupTimeout
: 等待没有节点组的节点的时间,然后再尝试启动(0=永远)。StartPartialTimeout
: 尝试在没有所有节点的情况下启动之前等待的毫秒数。(0=无限期等待)。StartPartitionedTimeout
: 尝试启动分区之前等待的毫秒数。(0=无限期等待)。StartupStatusReportFrequency
: 启动过程中状态报告的频率。StopOnError
: 当设置为 0 时,数据节点会在节点故障后自动重启并恢复。StringMemory
: 字符串内存的默认大小(0 到 100 = 最大值的 %,101+ = 实际字节)。TcpBind_INADDR_ANY
: 绑定 IP_ADDR_ANY,以便可以从任何地方进行连接(用于自动生成的连接)。TimeBetweenEpochs
: 时代之间的时间(用于复制的同步)。TimeBetweenEpochsTimeout
: 时代之间的时间超时。超过会导致节点关闭。TimeBetweenGlobalCheckpoints
: 事务组提交到磁盘的时间间隔。TimeBetweenGlobalCheckpointsTimeout
: 事务组提交到磁盘的最小超时时间。TimeBetweenInactiveTransactionAbortCheck
: 检查非活动事务的时间间隔。TimeBetweenLocalCheckpoints
: 拍摄数据库快照的时间间隔(以字节的 2 为底的对数表示)。TimeBetweenWatchDogCheck
: 数据节点内执行检查的时间间隔。TimeBetweenWatchDogCheckInitial
: 数据节点内执行检查的时间间隔(内存分配的早期启动阶段)。TotalSendBufferMemory
: 用于所有传输器发送缓冲区的总内存。TransactionBufferMemory
: 为每个数据节点分配的键和属性数据的动态缓冲区空间(以字节为单位)。TransactionDeadlockDetectionTimeout
: 事务可以在数据节点内执行的时间。这是事务协调器等待参与事务的每个数据节点执行请求的时间。如果数据节点花费的时间超过此时间量,则事务将被中止。TransactionInactiveTimeout
: 应用程序在执行事务的另一部分之前等待的毫秒数。这是事务协调器等待应用程序执行或发送事务的另一部分(查询、语句)的时间。如果应用程序花费的时间过长,则事务将被中止。超时 = 0 表示应用程序永远不会超时。TransactionMemory
: 为每个数据节点上的事务分配的内存。TwoPassInitialNodeRestartCopy
: 在初始节点重启期间以 2 个通道复制数据,这使得能够为这种重启多线程构建有序索引。UndoDataBuffer
: 未使用;没有效果。UndoIndexBuffer
: 未使用;没有效果。UseShm
: 在此数据节点和在此主机上运行的 API 节点之间使用共享内存连接。WatchDogImmediateKill
: 当为真时,只要发生看门狗问题,线程就会立即被杀死;用于测试和调试。
以下参数特定于 ndbmtd
AutomaticThreadConfig
: 使用自动线程配置;覆盖任何关于 ThreadConfig 和 MaxNoOfExecutionThreads 的设置,并禁用 ClassicFragmentation。ClassicFragmentation
: 当为真时,使用传统表碎片化;设置为 false 可在 LDM 之间启用灵活的碎片分配。由 AutomaticThreadConfig 禁用。EnableMultithreadedBackup
: 启用多线程备份。MaxNoOfExecutionThreads
: 仅适用于 ndbmtd,指定最大执行线程数。MaxSendDelay
: ndbmtd 延迟发送的最大微秒数。NoOfFragmentLogParts
: 属于此数据节点的重做日志文件组的数量。NumCPUs
: 使用 AutomaticThreadConfig 指定要使用的 CPU 数量。PartitionsPerNode
: 确定在每个数据节点上创建的表分区数量;如果启用了 ClassicFragmentation,则不使用。ThreadConfig
: 用于配置多线程数据节点(ndbmtd)。默认情况下为空字符串;有关语法和其他信息,请参阅文档。