本节中的列表提供了有关在 config.ini
文件的 [ndbd]
或 [ndbd default]
部分中用于配置 NDB 集群数据节点的参数的信息。有关每个参数的详细说明和其他附加信息,请参阅 “第 25.4.3.6 节 “定义 NDB 集群数据节点””。
这些参数也适用于 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
:如果磁盘数据表空间位于不同的物理磁盘上,则设置为 false。DiskIOThreadPool
:用于文件访问的未绑定线程数,仅适用于磁盘数据。Diskless
:在不使用磁盘的情况下运行。DiskPageBufferEntries
:要在 DiskPageBufferMemory 中分配的内存;非常大的磁盘事务可能需要增加此值。DiskPageBufferMemory
:在每个数据节点上分配给磁盘页面缓冲区缓存的字节数。DiskSyncSize
:在强制同步之前写入文件的數據量。EnablePartialLcp
:启用部分 LCP (true);如果禁用此选项 (false),则所有 LCP 都将写入完整的检查点。EnableRedoControl
:启用自适应检查点速度以控制重做日志的使用。EncryptedFileSystem
:加密本地检查点和表空间文件。实验性的;在生产环境中不受支持。EventLogBufferSize
:数据节点内 NDB 日志事件的循环缓冲区的大小。ExecuteOnComputer
:引用先前定义的 COMPUTER 的字符串。ExtraSendBufferMemory
:除 TotalSendBufferMemory 或 SendBufferMemory 分配的内存外,用于发送缓冲区的内存。默认值 (0) 允许最多 16 MB。FileSystemPath
:数据节点存储其数据的目录的路径(该目录必须存在)。FileSystemPathDataFiles
:数据节点存储其磁盘数据文件的目录的路径。默认值为 FilesystemPathDD(如果已设置);否则,如果已设置 FileSystemPath,则使用 FileSystemPath;否则,使用 DataDir 的值。FileSystemPathDD
:数据节点存储其磁盘数据和撤消文件的目录的路径。默认值为 FileSystemPath(如果已设置);否则,使用 DataDir 的值。FileSystemPathUndoFiles
:数据节点存储其磁盘数据撤消文件的目录的路径。默认值为 FilesystemPathDD(如果已设置);否则,如果已设置 FileSystemPath,则使用 FileSystemPath;否则,使用 DataDir 的值。FragmentLogFileSize
:每个重做日志文件的大小。HeartbeatIntervalDbApi
:API 节点与数据节点之间的心跳间隔时间。(API 连接在 3 次心跳丢失后关闭)。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 运行维护线程的 CPU ID。LockPagesInMainMemory
:0=禁用锁定,1=内存分配后锁定,2=内存分配前锁定。LogLevelCheckpoint
:打印到标准输出的本地和全局检查点信息的日志级别。LogLevelCongestion
:打印到标准输出的拥塞信息的级别。LogLevelConnection
:打印到标准输出的节点连接/断开连接信息的级别。LogLevelError
:打印到标准输出的传输器和心跳错误。LogLevelInfo
:打印到标准输出的心跳和日志信息。LogLevelNodeRestart
:打印到标准输出的节点重启和节点故障信息的级别。LogLevelShutdown
:打印到标准输出的节点关闭信息的级别。LogLevelStartup
:打印到标准输出的节点启动信息的级别。LogLevelStatistic
:打印到标准输出的事务、操作和传输器信息的级别。LongMessageBuffer
:为内部长消息分配给每个数据节点的字节数。MaxAllocate
:不再使用;无效。MaxBufferedEpochs
:允许订阅节点落后于(未处理的时期)的时期数。 超出会导致滞后的订阅者断开连接。MaxBufferedEpochBytes
:为缓冲时期分配的总字节数。MaxDiskDataLatency
:在开始中止事务之前允许的最大磁盘访问平均延迟(毫秒)。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
:在初始节点重启期间分两步复制数据,这使得能够为这种重启多线程构建有序索引。UndoDataBuffer
:未使用;无效。UndoIndexBuffer
:未使用;无效。UseShm
:在此数据节点与也在此主机上运行的 API 节点之间使用共享内存连接。WatchDogImmediateKill
:如果为 true,则只要出现看门狗问题,就会立即终止线程;用于测试和调试。
以下参数特定于 ndbmtd
AutomaticThreadConfig
:使用自动线程配置;覆盖 ThreadConfig 和 MaxNoOfExecutionThreads 的任何设置,并禁用 ClassicFragmentation。ClassicFragmentation
:如果为 true,则使用传统的表分片;设置为 false 以启用在 LDM 之间灵活分配分片。由 AutomaticThreadConfig 禁用。EnableMultithreadedBackup
:启用多线程备份。MaxNoOfExecutionThreads
:仅限 ndbmtd,指定最大执行线程数。MaxSendDelay
:ndbmtd 延迟发送的最大微秒数。NoOfFragmentLogParts
:属于此数据节点的重做日志文件组数。NumCPUs
:指定要与 AutomaticThreadConfig 一起使用的 CPU 数量。PartitionsPerNode
:确定在每个数据节点上创建的表分区数;如果启用了 ClassicFragmentation,则不使用。ThreadConfig
:用于配置多线程数据节点 (ndbmtd)。默认为空字符串;有关语法和其他信息,请参阅文档。