21.3.2.1 NDB 群集数据节点配置参数

本节中的 Lists 提供了有关在config.ini文件的[ndbd][ndbd default]节中使用的用于配置 NDB 群集数据节点的参数的信息。有关每个参数的详细说明和其他附加信息,请参见第 21.3.3.6 节,“定义 NDB 群集数据节点”

这些参数也适用于ndbmtd(ndbd的多线程版本)。有关更多信息,请参见第 21.4.3 节“ ndbmtd-NDB 群集数据节点守护程序(多线程)”

  • Arbitration:应如何执行仲裁以避免发生节点故障时出现裂脑的问题。

  • ArbitrationTimeout:数据库分区 await 仲裁 signal 的最长时间(毫秒)。

  • BackupDataBufferSize:备份的数据缓冲区的默认大小(以字节为单位)。

  • BackupDataDir:存储备份的路径。请注意,字符串“/BACKUP”始终附加到此设置,因此“有效”默认值为 FileSystemPath/BACKUP。

  • BackupDiskWriteSpeedPct:设置开始备份时为 LCP 保留的数据节点分配的最大写入速度(MaxDiskWriteSpeed)的百分比。

  • BackupLogBufferSize:备份的日志缓冲区的默认大小(以字节为单位)。

  • BackupMaxWriteSize:备份进行的文件系统写入的最大大小(以字节为单位)。

  • BackupMemory:每个节点分配用于备份的总内存(以字节为单位)。

  • BackupReportFrequency:备份期间报告备份状态的频率,以秒为单位。

  • BackupWriteSize:备份进行的文件系统写入的默认大小(以字节为单位)。

  • BatchSizePerLocalScan:用于计算使用保持锁进行扫描的锁记录的数量。

  • BuildIndexThreads:在系统或节点重新启动期间用于构建有序索引的线程数。在运行 ndb_restore --rebuild-indexes 时也适用。将此参数设置为 0 将禁用多线程构建有序索引。

  • CompressedBackup:在编写备份时,使用 zlib 压缩备份。

  • CompressedLCP:使用 zlib 编写压缩的 LCP。

  • ConnectCheckIntervalDelay:数据节点连接性检查阶段之间的时间。数据节点在 1 个间隔后被认为是可疑的,在 2 个间隔后没有响应则被认为是死亡的。

  • CrashOnCorruptedTuple:启用后,只要节点检测到损坏的 Tuples,就强制其关闭。

  • DataDir:此节点的数据目录。

  • DataMemory:每个数据节点上分配用于存储数据的字节数;取决于可用的系统 RAM 和 IndexMemory 的大小。

  • DefaultHashMapSize:设置用于 table 哈希 Map 的大小(以存储桶为单位)。支持三个值:0、240 和 3840.

  • DictTrace:启用 DBDICT 调试;用于 NDB 开发。

  • DiskIOThreadPool:用于文件访问的未绑定线程数,仅适用于磁盘数据。

  • Diskless:不使用磁盘即可运行。

  • DiskPageBufferEntries:要在 DiskPageBufferMemory 中分配的内存;很大的磁盘事务可能需要增加此值。

  • DiskPageBufferMemory:每个数据节点上分配给磁盘页面缓冲区高速缓存的字节数。

  • DiskSyncSize:强制同步之前写入文件的数据量。

  • EnablePartialLcp:启用部分 LCP(true);如果禁用此选项(false),则所有 LCP 都写入完整的检查点。

  • EnableRedoControl:启用自适应检查点速度以控制重做日志的使用。

  • EventLogBufferSize:数据节点内 NDB 日志事件的循环缓冲区的大小。

  • ExecuteOnComputer:引用早期定义的 COMPUTER 的字符串。

  • ExtraSendBufferMemory:除 TotalSendBufferMemory 或 SendBufferMemory 分配的内存外,还用于发送缓冲区的内存。默认值(0)最多允许 16MB。

  • FileSystemPath:数据节点存储其数据的目录路径(目录必须存在)。

  • FileSystemPathDataFiles:数据节点存储其磁盘数据文件的目录路径。如果设置,默认值为 FilesystemPathDD;否则,如果已设置 FilesystemPath,则使用它;否则,将使用 FilesystemPath。否则,将使用 DataDir 的值。

  • FileSystemPathDD:数据节点存储其磁盘数据和撤消文件的目录的路径。如果设置的话,默认值为 FileSystemPath;否则,将使用 DataDir 的值。

  • FileSystemPathUndoFiles:数据节点为磁盘数据存储其撤消文件的目录路径。如果设置,默认值为 FilesystemPathDD;否则,如果已设置 FilesystemPath,则使用它;否则,将使用 FilesystemPath。否则,将使用 DataDir 的值。

  • FragmentLogFileSize:每个重做日志文件的大小。

  • HeartbeatIntervalDbApi:API 节点数据节点心跳之间的时间。 (错过 3 个心跳后,API 连接关闭)。

  • HeartbeatIntervalDbDb:数据节点到数据节点心跳之间的时间;丢失 3 个心跳后,数据节点被视为已死。

  • HeartbeatOrder:设置数据节点检查彼此心跳的 Sequences,以确定给定节点是否仍处于活动状态并连接到集群。对于所有数据节点,必须为零;对于所有数据节点,必须为不同的非零值;请参阅文档以获取更多指导。

  • HostName:此数据节点的主机名或 IP 地址。

  • IndexMemory:每个数据节点上分配用于存储索引的字节数;取决于可用的系统 RAM 和 DataMemory 的大小。

  • IndexStatAutoCreate:创建索引时启用/禁用自动统计信息收集。

  • IndexStatAutoUpdate:监视索引以进行更改并触发自动统计信息更新。

  • IndexStatSaveScale:用于确定存储的索引统计信息的大小的比例因子。

  • IndexStatSaveSize:每个索引保存的统计信息的最大大小(以字节为单位)。

  • IndexStatTriggerPct:用于索引统计信息更新的 DML 操作中的阈值百分比变化。值由 IndexStatTriggerScale 缩小。

  • IndexStatTriggerScale:对于大索引,将 IndexStatTriggerPct 缩小此数量,再乘以索引大小的以 2 为底的对数。设置为 0 以禁用缩放。

  • IndexStatUpdateDelay:给定索引的两次自动索引统计信息更新之间的最小延迟。 0table 示没有延迟。

  • InitFragmentLogFiles:初始化片段日志文件(稀疏/完整)。

  • InitialLogFileGroup:描述在初始启动期间创建的日志文件组。有关格式,请参见文档。

  • InitialNoOfOpenFiles:每个数据节点打开的初始文件数。 (每个文件创建一个线程)。

  • InitialTablespace:描述在初始启动期间创建的 table 空间。有关格式,请参见文档。

  • InsertRecoveryWork:用于插入行的 RecoveryWork 的百分比;除非正在使用部分本地检查点,否则此命令无效。

  • LateAlloc:构建与 Management 服务器的连接后分配内存。

  • LcpScanProgressTimeout:在关闭节点以确保系统范围的 LCP 进度之前,本地检查点片段扫描可以停止的最长时间。使用 0 禁用。

  • LockExecuteThreadToCPU:以逗号分隔的 CPU ID 列 table。

  • LockMaintThreadsToCPU:CPU ID,指示哪个 CPU 运行维护线程。

  • LockPagesInMainMemory:0 =禁用锁定,1 =分配内存后锁定,2 =分配内存前锁定。

  • LogLevelCheckpoint:打印到标准输出的本地和全局检查点信息的日志级别。

  • LogLevelCongestion:打印到标准输出的拥塞信息级别。

  • LogLevelConnection:打印到标准输出的节点连接/断开连接级别。

  • LogLevelError:转运蛋白,心跳错误打印到标准输出。

  • LogLevelInfo:心跳和日志信息已打印到标准输出。

  • LogLevelNodeRestart:节点重新启动的级别以及将节点故障信息打印到标准输出。

  • LogLevelShutdown:打印到标准输出的节点关闭信息的级别。

  • LogLevelStartup:打印到标准输出的节点启动信息的级别。

  • LogLevelStatistic:打印到标准输出的 Transaction,操作和运输者信息的级别。

  • LongMessageBuffer:在每个数据节点上分配给内部长消息的字节数。

  • MaxAllocate:为 table 分配内存时要使用的最大分配大小。

  • MaxBufferedEpochs:订阅节点可以滞后的允许的时期数(未处理的时期)。超出将导致落后的订户被断开连接。

  • MaxBufferedEpochBytes:分配给缓冲时期的字节总数。

  • MaxDiskWriteSpeed:没有重新启动正在进行时,LCP 和备份每秒可以写入的最大字节数。

  • MaxDiskWriteSpeedOtherNodeRestart:另一个节点重新启动时,LCP 每秒可写入和备份的最大字节数。

  • MaxDiskWriteSpeedOwnRestart:此节点重新启动时,LCP 和备份每秒可以写入的最大字节数。

  • MaxFKBuildBatchSize:用于构建外键的最大扫描批处理大小。增大此值可能会加快外键的构建,但也会影响正在进行的流量。

  • MaxDMLOperationsPerTransaction:Transaction 的限额;如果需要的事务数量超过此许多 DML 操作,则中止事务。设置为 0 禁用。

  • MaxLCPStartDelay:LCP 轮询检查点互斥(以允许其他数据节点完成元数据同步)之前的时间,以秒为单位,以将其置于锁定队列以并行恢复 table 数据之前。

  • MaxNoOfAttributes:建议存储在数据库中的属性总数(所有 table 的总和)。

  • MaxNoOfConcurrentIndexOperations:可以在一个数据节点上同时执行的索引操作总数。

  • MaxNoOfConcurrentOperations:事务协调器中最大操作记录数。

  • MaxNoOfConcurrentScans:在数据节点上并发执行的最大扫描数。

  • MaxNoOfConcurrentSubOperations:并发订户操作的最大数量。

  • MaxNoOfConcurrentTransactions:在此数据节点上同时执行的最大事务数,可以同时执行的事务总数是此值乘以群集中数据节点的数目。

  • MaxNoOfFiredTriggers:可以在一个数据节点上同时触发的触发器总数。

  • MaxNoOfLocalOperations:在此数据节点上定义的最大操作记录数。

  • MaxNoOfLocalScans:在此数据节点上并行进行的片段扫描的最大数量。

  • MaxNoOfOpenFiles:每个数据节点打开的最大文件数。(每个文件创建一个线程)。

  • MaxNoOfOrderedIndexes:可以在系统中定义的有序索引总数。

  • MaxNoOfSavedMessages:要写入错误日志的最大错误消息数和要保留的最大跟踪文件数。

  • MaxNoOfSubscribers:最大订户数(默认 0 = MaxNoOfTables * 2)。

  • MaxNoOfSubscriptions:最大订阅数(默认 0 = MaxNoOfTables)。

  • MaxNoOfTables:建议数据库中存储的 NDBtable 总数。

  • MaxNoOfTriggers:可以在系统中定义的触发器总数。

  • MaxNoOfUniqueHashIndexes:系统中可以定义的唯一哈希索引总数。

  • MaxParallelCopyInstances:节点重新启动期间的并行副本数。默认值为 0,这在两个节点上使用 LDM 的数量,最大为 16.

  • MaxParallelScansPerFragment:每个片段的最大并行扫描数。达到此限制后,扫描序列化。

  • MaxReorgBuildBatchSize:用于重组 table 分区的最大扫描批处理大小。增大此值可能会加快 table 分区的重组速度,但也会影响正在进行的流量。

  • MaxStartFailRetries:数据节点启动失败时,最大重试次数要求 StopOnError =0.设置为 0 会导致启动尝试无限期地 continue。

  • MaxUIBuildBatchSize:用于构建唯一密钥的最大扫描批处理大小。增大此值可能会加快唯一键的构建速度,但也会影响正在进行的流量。

  • MemReportFrequency:内存报告的频率,以秒为单位; 0 =仅在超出百分比限制时报告。

  • MinDiskWriteSpeed:LCP 和备份每秒可以写入的最小字节数。

  • MinFreePct:为重新启动保留的内存资源百分比。

  • NodeGroup:数据节点所属的节点组;仅在群集的初始启动期间使用。

  • NodeId:集群中所有节点中唯一标识数据节点的编号。

  • NoOfFragmentLogFiles:属于数据节点的 4 个文件集中的每个文件集中的 16 MB 重做日志文件数。

  • NoOfReplicas:数据库中所有数据的副本数。

  • Numa :(仅 Linux;需要 libnuma)控制 NUMA 支持。设置为 0 允许系统确定是否使用数据节点进程进行交织; 1table 示由数据节点确定。

  • ODirect:使用 O_DIRECT 对文件进行读写。

  • ODirectSyncFlag:O_DIRECT 写入被视为同步写入;当未启用 ODirect 或 InitFragmentLogFiles 设置为 SPARSE 时,或两者都忽略时,将忽略此命令。

  • RealtimeScheduler:如果为 true,则将数据节点线程安排为实时线程。默认为 false。

  • RecoveryWork:LCP 文件的存储开销百分比:值越大,table 示正常操作下的工作就越少,恢复期间的工作就越多。

  • RedoBuffer:分配给每个数据节点用于写入重做日志的字节数。

  • RedoOverCommitCounter:多次超出 RedoOverCommitLimit 时,事务将中止,并按照 DefaultOperationRedoProblemAction 的指定处理操作。

  • RedoOverCommitLimit:每次刷新当前重做缓冲区所花费的时间超过此秒数时,将发生这种情况的次数与 RedoOverCommitCounter 进行比较。

  • ReservedSendBufferMemory:NDB 代码中存在此参数,但未启用。

  • RestartOnErrorInsert:由于插入错误(启用 StopOnError 时)而导致的重新启动的控制类型。

  • SchedulerExecutionTimer:发送前在调度程序中执行的微秒数。

  • SchedulerResponsiveness:将 NDB 调度程序响应优化设置为 0-10;较高的值可提供更好的响应时间,但吞吐量较低。

  • SchedulerSpinTimer:睡眠前要在调度程序中执行的微秒数。

  • ServerPort:用于为来自 API 节点的传入连接设置传输器的端口。

  • SharedGlobalMemory:分配给任何用途的每个数据节点上的字节总数。

  • StartFailRetryDelay:启动失败后的延迟秒数,然后重试;需要 StopOnError = 0.

  • StartFailureTimeout:终止之前要 await 的毫秒。 (0 =永远 await)。

  • StartNoNodeGroupTimeout:开始尝试之前 await 没有节点组的节点的时间(0 =永久)。

  • StartPartialTimeout:尝试在没有所有节点的情况下启动之前要 await 的毫秒数。 (0 =永远 await)。

  • StartPartitionedTimeout:尝试开始分区之前要 await 的毫秒数。 (0 =永远 await)。

  • StartupStatusReportFrequency:启动期间状态报告的频率。

  • StopOnError:设置为 0 时,数据节点将自动重新启动并恢复以下节点故障。

  • StringMemory:字符串存储的默认大小(0 到 100 =最大值的%,101 =实际字节)。

  • TcpBind_INADDR_ANY:绑定 IP_ADDR_ANY,以便可以从任何地方构建连接(用于自动生成的连接)。

  • TimeBetweenEpochs:历元之间的时间(用于复制的同步)。

  • TimeBetweenEpochsTimeout:各纪元之间的时间超时。超过此数量将导致节点关闭。

  • TimeBetweenGlobalCheckpoints:两次向磁盘提交事务之间的时间。

  • TimeBetweenGlobalCheckpointsTimeout:将事务组提交到磁盘的最小超时。

  • TimeBetweenInactiveTransactionAbortCheck:两次检查无效 Transaction 之间的时间。

  • TimeBetweenLocalCheckpoints:拍摄数据库快照之间的时间(以 2 为底的字节对数 table 示)。

  • TimeBetweenWatchDogCheck:数据节点内部执行检查之间的时间。

  • TimeBetweenWatchDogCheckInitial:数据节点内部执行检查之间的时间(分配内存时的早期启动阶段)。

  • TotalSendBufferMemory:所有传输器发送缓冲区要使用的总内存。

  • TransactionBufferMemory:为每个数据节点分配的键和属性数据的动态缓冲区空间(以字节为单位)。

  • TransactionDeadlockDetectionTimeout:时间事务可以花费在数据节点上执行。现在是事务协调器 await 参与事务的每个数据节点执行请求的时候了。如果数据节点花费的时间超过此时间,则事务将中止。

  • TransactionInactiveTimeout:应用程序在执行另一部分事务之前 await 的毫秒数。这是事务协调器 await 应用程序执行或发送事务的另一部分(查询,语句)的时间。如果应用程序花费太多时间,则事务中止。超时= 0table 示应用程序永不超时。

  • TwoPassInitialNodeRestartCopy:在初始节点重新启动期间分 2 遍复制数据,这使得可以为这种重新启动构建多线程有序索引。

  • UndoDataBuffer:每个数据节点上分配的用于写入数据撤消日志的字节数。

  • UndoIndexBuffer:每个数据节点上分配的用于写入索引撤消日志的字节数。

  • UseShm:在此数据节点和也在此主机上运行的 API 节点之间使用共享内存连接。

以下参数特定于ndbmtd

  • MaxNoOfExecutionThreads:仅对于 ndbmtd,指定最大执行线程数。

  • NoOfFragmentLogParts:属于该数据节点的重做日志文件组的数量。

  • ThreadConfig:用于配置多线程数据节点(ndbmtd)。默认为空字符串;请参阅文档以获取语法和其他信息。