• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • vue手册
  • php手册
  • MySQL手册
  • apache手册
  • redis手册
  • NDB群集配置参数,选项和变量概述

    接下来的几节提供config.ini文件中用于控制节点行为各个方面的NDB群集节点配置参数的摘要表,以及作为NDB群集进程运行时mysqldmy.cnf文件或命令行读取的选项和变量的摘要。每个节点参数表列出的对于给定类型的参数(ndbdndb_mgmdmysqldcomputertcp,或shm)。所有表都包括参数,选项或变量的数据类型,以及其默认值,最小值和最大值(如果适用)。

    重新启动节点时的注意事项。对于节点参数,这些表还指示需要哪种重新启动类型(节点重新启动或系统重新启动),以及是否必须使用重新启动来--initial更改给定配置参数的值。在执行节点重新启动或初始节点重新启动时,必须依次重新启动集群的所有数据节点(也称为滚动重新启动)。可以通过这种方式更新标记为node联机的群集配置参数(即,无需关闭群集)。初始节点重新启动要求使用该选项重新启动每个ndbd进程--initial

    系统重新启动需要完全关闭并重新启动整个集群。初始的系统重新启动需要备份群集,在关闭后擦除群集文件系统,然后在重新启动后从备份中还原。

    在任何群集重新启动中,必须重新启动所有群集的管理服务器,才能读取更新的配置参数值。

    重要

    数字群集参数的值通常可以毫无问题地增加,尽管建议逐步进行,以相对较小的增量进行此类调整。使用滚动重启,可以在线增加其中的许多功能。

    但是,减少此类参数的值(无论是使用节点重启,节点初始重启还是集群的完全系统重启来完成)都不容小;;建议您仅在经过仔细的计划和测试之后再进行操作。这是对于那些与内存使用和磁盘空间参数,如尤其如此MaxNoOfTablesMaxNoOfOrderedIndexes,和MaxNoOfUniqueHashIndexes。另外,通常情况下,可以使用简单的节点重启来提高与内存和磁盘使用率有关的配置参数,但是它们要求降低初始节点重启。

    由于其中一些参数可用于配置一种以上类型的群集节点,因此它们可能出现在多个表中。

    注意

    4294967039通常在这些表中显示为最大值。该值在NDBCLUSTER源中定义为MAX_INT_RNIL,等于0xFFFFFEFF或。232− 28− 1

    NDB群集数据节点配置参数

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

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

    • Arbitration:应如何执行仲裁以避免发生节点故障时出现裂脑的问题。
    • ArbitrationTimeout:数据库分区等待仲裁信号的最长时间(毫秒)。
    • 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:启用后,只要节点检测到损坏的元组,就强制其关闭。
    • 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:启用自适应检查点速度以控制重做日志的使用。
    • 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:设置数据节点检查彼此心跳的顺序,以确定给定节点是否仍处于活动状态并连接到集群。对于所有数据节点,必须为零;对于所有数据节点,必须为不同的非零值;请参阅文档以获取更多指导。
    • HostName:此数据节点的主机名或IP地址。
    • IndexMemory:每个数据节点上分配用于存储索引的字节数;取决于可用的系统RAM和DataMemory的大小。
    • IndexStatAutoCreate:创建索引时启用/禁用自动统计信息收集。
    • IndexStatAutoUpdate:监视索引以进行更改并触发自动统计信息更新。
    • IndexStatSaveScale:用于确定存储索引统计信息大小的缩放因子。
    • IndexStatSaveSize:每个索引保存的统计信息的最大大小(以字节为单位)。
    • IndexStatTriggerPct:DML操作中的阈值百分比变化用于索引统计信息更新。值按IndexStatTriggerScale缩小。
    • IndexStatTriggerScale:对于大型索引,将IndexStatTriggerPct缩小此数量,再乘以索引大小的以2为底的对数。设置为0以禁用缩放。
    • IndexStatUpdateDelay:给定索引的自动索引统计信息更新之间的最小延迟。0表示没有延迟。
    • InitFragmentLogFiles:初始化片段日志文件(稀疏/完整)。
    • InitialLogFileGroup:描述在初始启动期间创建的日志文件组。有关格式,请参见文档。
    • InitialNoOfOpenFiles:每个数据节点打开的初始文件数。(每个文件创建一个线程)。
    • InitialTablespace:描述在初始启动期间创建的表空间。有关格式,请参见文档。
    • InsertRecoveryWork:用于插入行的RecoveryWork的百分比;除非正在使用部分本地检查点,否则此命令无效。
    • LateAlloc:在建立与管理服务器的连接后分配内存。
    • LcpScanProgressTimeout:在关闭节点以确保系统范围的LCP进度之前,本地检查点片段扫描可以停止的最长时间。使用0禁用。
    • LockExecuteThreadToCPU:以逗号分隔的CPU ID列表。
    • LockMaintThreadsToCPU:CPU ID,指示哪个CPU运行维护线程。
    • 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操作,则中止事务。设置为0禁用。
    • MaxLCPStartDelay:LCP轮询检查点互斥(以允许其他数据节点完成元数据同步)之前的时间(以秒为单位),然后将其置于锁定队列中以并行恢复表数据。
    • MaxNoOfAttributes:建议存储在数据库中的属性总数(所有表的总和)。
    • MaxNoOfConcurrentIndexOperations:可以在一个数据节点上同时执行的索引操作总数。
    • MaxNoOfConcurrentOperations:事务协调器中最大操作记录数。
    • MaxNoOfConcurrentScans:在数据节点上同时执行的最大扫描数。
    • MaxNoOfConcurrentSubOperations:最大并发订户操作数。
    • MaxNoOfConcurrentTransactions:在此数据节点上同时执行的最大事务数,可以同时执行的事务总数是此值乘以群集中数据节点的数目。
    • MaxNoOfFiredTriggers:可以在一个数据节点上同时触发的触发器总数。
    • MaxNoOfLocalOperations:在此数据节点上定义的最大操作记录数。
    • MaxNoOfLocalScans:在此数据节点上并行并行执行的片段扫描的最大数量。
    • MaxNoOfOpenFiles:每个数据节点打开的最大文件数。(每个文件创建一个线程)。
    • MaxNoOfOrderedIndexes:可以在系统中定义的有序索引总数。
    • MaxNoOfSavedMessages:要写入错误日志的最大错误消息数以及要保留的最大跟踪文件数。
    • MaxNoOfSubscribers:最大订户数(默认0 = MaxNoOfTables * 2)。
    • 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进行比较。
    • ReservedConcurrentIndexOperations:在一个数据节点上具有专用资源的同时索引操作的数量。
    • ReservedConcurrentOperations:在一个数据节点上的事务协调器中具有专用资源的并发操作数。
    • ReservedConcurrentScans:在一个数据节点上具有专用资源的同时扫描数。
    • ReservedConcurrentTransactions:在一个数据节点上具有专用资源的并发事务数。
    • ReservedFiredTriggers:在一个数据节点上具有专用资源的触发器的数量。
    • ReservedLocalScans:在一个数据节点上具有专用资源的同时片段扫描的数量。
    • ReservedTransactionBufferMemory:分配给每个数据节点的键和属性数据的动态缓冲区空间(以字节为单位)。
    • RestartOnErrorInsert:由于插入错误(启用StopOnError时)而导致的重新启动的控制类型。
    • SchedulerExecutionTimer:发送前在调度程序中执行的微秒数。
    • SchedulerResponsiveness:将NDB调度程序响应优化设置为0-10;较高的值可提供更好的响应时间,但吞吐量较低。
    • SchedulerSpinTimer:睡眠前要在调度程序中执行的微秒数。
    • ServerPort:用于为来自API节点的传入连接设置传输器的端口。
    • SharedGlobalMemory:分配给任何用途的每个数据节点上的字节总数。
    • 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节点之间使用共享内存连接。

    以下参数特定于ndbmtd

    • MaxNoOfExecutionThreads注意:仅对于ndbmtd,指定最大执行线程数。
    • NoOfFragmentLogParts:属于该数据节点的重做日志文件组的数量;值必须是4的偶数倍。
    • ThreadConfig:用于配置多线程数据节点(ndbmtd)。默认为空字符串;请参阅文档以获取语法和其他信息。

    NDB群集管理节点配置参数

    本节中的清单提供了有关用于配置NDB群集管理节点的文件[ndb_mgmd][mgm]部分中使用的参数的信息config.ini。有关每个参数的详细说明和其他附加信息,请参见“定义NDB群集管理服务器”。

    • ArbitrationDelay:当被要求进行仲裁时,仲裁员会等待很长时间才投票(毫秒)。
    • ArbitrationRank:如果为0,则管理节点不是仲裁器。内核按顺序1、2选择仲裁器。
    • DataDir:此节点的数据目录。
    • ExecuteOnComputer:引用早期定义的COMPUTER的字符串。
    • ExtraSendBufferMemory:除TotalSendBufferMemory或SendBufferMemory分配的内存外,还用于发送缓冲区的内存。默认值(0)最多允许16MB。
    • HeartbeatIntervalMgmdMgmd:管理节点到管理节点心跳之间的时间;在丢失3个心跳之后,管理节点之间的连接被视为丢失。
    • HeartbeatThreadPriority:设置管理节点的心跳线程策略和优先级;有关允许的值,请参见手册。
    • HostName:此管理节点的主机名或IP地址。
    • Id:编号标识管理节点。现在已弃用;请改用NodeId。
    • LogDestination:将日志消息发送到的位置:控制台,系统日志或指定的日志文件。
    • NodeId:在集群中所有节点中唯一标识管理节点的编号。
    • PortNumber:用于向管理服务器发送命令和从管理服务器获取配置的端口号。
    • PortNumberStats:用于从管理服务器获取统计信息的端口号。
    • TotalSendBufferMemory:用于所有传输器发送缓冲区的总内存。
    • wan:默认使用WAN TCP设置。
    注意

    在更改管理节点的配置后,有必要对群集执行滚动重启,以使新配置生效。有关更多信息,请参见“定义NDB群集管理服务器”。

    要将新的管理服务器添加到正在运行的NDB群集中,还必须在修改任何现有config.ini文件之后对所有群集节点执行滚动重启。有关使用多个管理节点时出现的问题的更多信息,请参见“与多个NDB群集节点有关的限制”。

    NDB群集SQL节点和API节点配置参数

    本节中的清单提供了有关用于配置NDB Cluster SQL节点和API节点的文件[mysqld][api]部分中使用的参数的信息config.ini。有关每个参数的详细说明和其他附加信息,请参见“在NDB群集中定义SQL和其他API节点”。

    • ApiVerbose:启用NDB API调试;用于NDB开发。
    • ArbitrationDelay:当被要求进行仲裁时,仲裁员会在投票之前等待这么多毫秒。
    • ArbitrationRank:如果为0,则API节点不是仲裁器。内核按顺序1、2选择仲裁器。
    • AutoReconnect:指定从集群断开连接时,API节点是否应完全重新连接。
    • BatchByteSize:默认批处理大小(以字节为单位)。
    • BatchSize:默认记录大小(以记录数计)。
    • ConnectBackoffMaxTime:指定最长的时间(以毫秒为单位)(〜100ms分辨率),以允许该API节点尝试连接到任何给定的数据节点之间。不包括进行连接尝试时所花费的时间,在最坏的情况下可能要花费几秒钟。通过设置为0来禁用。如果当前没有数据节点连接到该API节点,则使用StartConnectBackoffMaxTime。
    • ConnectionMap:指定要连接的数据节点。
    • DefaultHashMapSize:设置大小(以存储桶为单位)以用于表哈希映射。支持三个值:0、240和3840。
    • DefaultOperationRedoProblemAction:超过RedoOverCommitCounter时如何处理操作。
    • ExecuteOnComputer:引用早期定义的COMPUTER的字符串。
    • ExtraSendBufferMemory:除TotalSendBufferMemory或SendBufferMemory分配的内存外,还用于发送缓冲区的内存。默认值(0)最多允许16MB。
    • HeartbeatThreadPriority:设置API节点的心跳线程策略和优先级;有关允许的值,请参见手册。
    • HostName:此SQL或API节点的主机名或IP地址。
    • Id:用于标识MySQL服务器或API节点(Id)的数字。现在已弃用;请改用NodeId。
    • MaxScanBatchSize:一次扫描的最大集体批次大小。
    • NodeId:在集群中所有节点中唯一标识SQL节点或API节点的编号。
    • StartConnectBackoffMaxTime:与ConnectBackoffMaxTime相同,不同之处在于,如果没有数据节点连接到此API节点,则使用此参数。
    • TotalSendBufferMemory:用于所有传输器发送缓冲区的总内存。
    • wan:默认使用WAN TCP设置。

    有关NDB群集的MySQL服务器选项的讨论,请参见“ NDB群集的MySQL服务器选项”。有关与NDB群集相关的MySQL服务器系统变量的信息,请参见“ NDB群集系统变量”。

    注意

    要将新的SQL或API节点添加到正在运行的NDB群集的配置中,必须在向文件(如果使用多个管理服务器,如果有一个或多个文件)中添加新的[mysqld][api]节之后,对所有群集节点执行滚动重启。config.ini。必须先完成此操作,然后新的SQL或API节点才能连接到群集。

    这是必要执行群集的任何重新启动,如果新的SQL或API节点可以使用以前未使用的API槽在群集配置以连接到群集。

    其他NDB群集配置参数

    本节中的清单提供有关在使用的参数信息[computer][tcp]以及[shm]一个的部分config.ini文件进行配置NDB集群。有关各个参数的详细说明和其他信息,请参见“ NDB群集TCP / IP连接”或“ NDB群集共享内存连接”。

    以下参数适用于config.ini文件的[computer]部分:

    • HostName:此计算机的主机名或IP地址。
    • Id:此计算机的唯一标识符。

    以下参数适用于config.ini文件的[tcp]部分:

    • Checksum:如果启用了校验和,将检查节点之间的所有信号是否有错误。
    • Group:用于组接近;较小的值被解释为更接近。
    • NodeId1:连接一侧的节点(数据节点,API节点或管理节点)的ID。
    • NodeId2:连接一侧的节点(数据节点,API节点或管理节点)的ID。
    • NodeIdServer:设置TCP连接的服务器端。
    • OverloadLimit:当发送缓冲区中的未发送字节数超过此数目时,连接被视为过载。
    • PreSendChecksum:如果同时启用了此参数和Checksum,则执行预发送校验和检查,并检查节点之间的所有TCP信号是否有错误。
    • Proxy:。
    • ReceiveBufferMemory:此节点接收的信号的缓冲区字节。
    • SendBufferMemory:从该节点发送的信号的TCP缓冲区的字节数。
    • SendSignalId:在每个信号中发送ID。用于跟踪文件。在调试版本中默认为true。
    • TCP_MAXSEG_SIZE:用于TCP_MAXSEG的值。
    • TCP_RCV_BUF_SIZE:用于SO_RCVBUF的值。
    • TCP_SND_BUF_SIZE:用于SO_SNDBUF的值。
    • TcpBind_INADDR_ANY:为连接的服务器部分绑定InAddrAny而不是主机名。

    以下参数适用于config.ini文件的[shm]部分:

    • Checksum:如果启用了校验和,将检查节点之间的所有信号是否有错误。
    • Group:用于组接近;较小的值被解释为更接近。
    • NodeId1:连接一侧的节点(数据节点,API节点或管理节点)的ID。
    • NodeId2:连接一侧的节点(数据节点,API节点或管理节点)的ID。
    • NodeIdServer:设置SHM连接的服务器端。
    • OverloadLimit:当发送缓冲区中的未发送字节数超过此数目时,连接被视为过载。
    • PreSendChecksum:如果同时启用了此参数和Checksum,则执行预发送校验和检查,并检查节点之间的所有SHM信号是否有错误。
    • SendBufferMemory:共享内存缓冲区中从该节点发送的信号中的字节。
    • SendSignalId:在每个信号中发送ID。用于跟踪文件。
    • ShmKey:共享内存密钥;设置为1时,由NDB计算。
    • ShmSpinTime:接收时,睡眠前旋转的微秒数。
    • ShmSize:共享内存段的大小。
    • Signum:用于信令的信号编号。

    NDB群集mysqld选项和变量参考

    下表提供了mysqld在NDB群集中作为SQL节点运行时适用的命令行选项,服务器和状态变量的列表。有关显示可与mysqld一起使用的所有命令行选项,服务器和状态变量的表,请参见“服务器选项,系统变量和状态变量参考”。

    • Com_show_ndb_status:SHOW NDB STATUS语句的计数。
    • Handler_discover:发现表的次数。
    • ndb-batch-size:用于NDB事务批处理的大小(以字节为单位)。
    • ndb-blob-read-batch-bytes:指定大型BLOB读取应批量放入的大小(以字节为单位)。0 =无限制。
    • ndb-blob-write-batch-bytes:指定大型BLOB写操作应分批处理的大小(以字节为单位)。0 =无限制。
    • ndb-cluster-connection-pool:与MySQL使用的群集的连接数。
    • ndb-cluster-connection-pool-nodeids:用逗号分隔的节点ID列表,用于连接MySQL使用的集群;列表中的节点数必须与为--ndb-cluster-connection-pool设置的值相同。
    • ndb-connectstring:指向分发群集配置的管理服务器。
    • ndb-default-column-format:在创建表或向表中添加列时,默认情况下将此值(FIXED或DYNAMIC)用于COLUMN_FORMAT和ROW_FORMAT选项。
    • ndb-deferred-constraints:指定对唯一索引(支持索引的地方)的约束检查应推迟到提交时间为止。通常不需要或不使用;仅用于测试目的。
    • ndb-distribution:NDBCLUSTER中新表的默认分发(KEYHASH或LINHASH,默认为KEYHASH)。
    • ndb-log-apply-status:导致一个充当从服务器的MySQL服务器使用其自己的服务器ID在其自己的二进制日志中记录从其直接主服务器接收到的mysql.ndb_apply_status更新。仅在使用--ndbcluster选项启动服务器时有效。
    • ndb-log-empty-epochs:启用后,即使启用--log-slave-updates,也会导致没有更改的纪元写入ndb_apply_status和ndb_binlog_index表。
    • ndb-log-empty-update:启用后,即使启用--log-slave-updates,也不会将未产生任何更改的更新写入ndb_apply_status和ndb_binlog_index表。
    • ndb-log-exclusive-reads:记录具有互斥锁的主键读取;允许基于读取冲突解决冲突。
    • ndb-log-orig:在mysql.ndb_binlog_index表中记录原始服务器ID和时期。
    • ndb-log-transaction-id:在二进制日志中写入NDB事务ID。需要--log-bin-v1-events = OFF。
    • ndb-log-update-as-write:在更新(OFF)和写入(ON)之间切换主服务器上更新的日志记录。
    • ndb-mgmd-host:设置用于连接到管理服务器的主机(和端口,如果需要)。
    • ndb-nodeid:此MySQL服务器的NDB群集节点ID。
    • ndb-transid-mysql-connection-map:启用或禁用ndb_transid_mysql_connection_map插件;也就是说,启用或禁用具有该名称的INFORMATION_SCHEMA表。
    • ndb-wait-connected:MySQL服务器在接受MySQL客户端连接之前等待连接到集群管理和数据节点的时间(以秒为单位)。
    • ndb-wait-setup:MySQL服务器等待NDB引擎安装完成的时间(以秒为单位)。
    • ndb-allow-copying-alter-table:设置为OFF可以防止ALTER TABLE在NDB表上使用复制操作。
    • Ndb_api_bytes_received_count:此MySQL服务器(SQL节点)从数据节点接收的数据量(以字节为单位)。
    • Ndb_api_bytes_received_count_session:在此客户端会话中从数据节点接收的数据量(以字节为单位)。
    • Ndb_api_bytes_received_count_slave:此从站从数据节点接收的数据量(以字节为单位)。
    • Ndb_api_bytes_sent_count:此MySQL服务器(SQL节点)发送到数据节点的数据量(以字节为单位)。
    • Ndb_api_bytes_sent_count_session:在此客户端会话中发送到数据节点的数据量(以字节为单位)。
    • Ndb_api_bytes_sent_count_slave:此从站发送到数据节点的数据量(以字节为单位)。
    • Ndb_api_event_bytes_count:此MySQL服务器(SQL节点)接收到的事件的字节数。
    • Ndb_api_event_bytes_count_injector:NDB二进制日志注入器线程接收到的事件的字节数。
    • Ndb_api_event_data_count:此MySQL服务器(SQL节点)接收到的行更改事件数。
    • Ndb_api_event_data_count_injector:NDB二进制日志注入器线程接收到的行更改事件数。
    • Ndb_api_event_nondata_count:此MySQL服务器(SQL节点)接收到的除行更改事件以外的事件数。
    • Ndb_api_event_nondata_count_injector:NDB二进制日志注入器线程接收到的除行更改事件以外的事件数。
    • Ndb_api_pk_op_count:此MySQL服务器(SQL节点)基于或使用主键的操作数。
    • Ndb_api_pk_op_count_session:在此客户端会话中基于或使用主键的操作数。
    • Ndb_api_pk_op_count_slave:该从站基于或使用主键的操作数。
    • Ndb_api_pruned_scan_count:此MySQL服务器(SQL节点)已修剪到单个分区的扫描次数。
    • Ndb_api_pruned_scan_count_session:在此客户端会话中已修剪到单个分区的扫描次数。
    • Ndb_api_pruned_scan_count_slave:此从属服务器已修剪到单个分区的扫描次数。
    • Ndb_api_range_scan_count:此MySQL服务器(SQL节点)已启动的范围扫描数。
    • Ndb_api_range_scan_count_session:在此客户端会话中已启动的范围扫描数。
    • Ndb_api_range_scan_count_slave:此从站已启动的范围扫描数。
    • Ndb_api_read_row_count:此MySQL服务器(SQL节点)已读取的总行数。
    • Ndb_api_read_row_count_session:此客户端会话中已读取的总行数。
    • Ndb_api_read_row_count_slave:此从站已读取的总行数。
    • Ndb_api_scan_batch_count:此MySQL服务器(SQL节点)收到的行的批处理数。
    • Ndb_api_scan_batch_count_session:此客户端会话中收到的行的批处理数。
    • Ndb_api_scan_batch_count_slave:此从站接收的行的批处理数。
    • Ndb_api_table_scan_count:此MySQL服务器(SQL节点)已开始的表扫描的数量,包括内部表的扫描。
    • Ndb_api_table_scan_count_session:在此客户端会话中已开始的表扫描数,包括内部表的扫描数。
    • Ndb_api_table_scan_count_slave:此从属服务器已开始的表扫描次数,包括内部表的扫描次数。
    • Ndb_api_trans_abort_count:此MySQL服务器(SQL节点)中止的事务数。
    • Ndb_api_trans_abort_count_session:此客户端会话中止的事务数。
    • Ndb_api_trans_abort_count_slave:此从属服务器中止的事务数。
    • Ndb_api_trans_close_count:此MySQL服务器(SQL节点)中止的事务数(可能大于TransCommitCount和TransAbortCount的总和)。
    • Ndb_api_trans_close_count_session:此客户端会话中中止的事务数(可能大于TransCommitCount和TransAbortCount的总和)。
    • Ndb_api_trans_close_count_slave:此从属服务器中止的事务数(可能大于TransCommitCount和TransAbortCount的总和)。
    • Ndb_api_trans_commit_count:此MySQL服务器(SQL节点)提交的事务数。
    • Ndb_api_trans_commit_count_session:在此客户端会话中提交的事务数。
    • Ndb_api_trans_commit_count_slave:此从站提交的事务数。
    • Ndb_api_trans_local_read_row_count:此MySQL服务器(SQL节点)已读取的总行数。
    • Ndb_api_trans_local_read_row_count_session:此客户端会话中已读取的总行数。
    • Ndb_api_trans_local_read_row_count_slave:此从站已读取的总行数。
    • Ndb_api_trans_start_count:此MySQL服务器(SQL节点)启动的事务数。
    • Ndb_api_trans_start_count_session:在此客户端会话中启动的事务数。
    • Ndb_api_trans_start_count_slave:此从站启动的事务数。
    • Ndb_api_uk_op_count:此MySQL服务器(SQL节点)基于或使用唯一键的操作数。
    • Ndb_api_uk_op_count_session:在此客户端会话中基于或使用唯一键的操作数。
    • Ndb_api_uk_op_count_slave:该从站基于或使用唯一键的操作数。
    • Ndb_api_wait_exec_complete_count:线程等待此MySQL服务器(SQL节点)完成操作时被阻塞的次数。
    • Ndb_api_wait_exec_complete_count_session:线程等待此客户端会话中的操作执行完成时被阻塞的次数。
    • Ndb_api_wait_exec_complete_count_slave:线程等待此从站完成操作时被阻塞的次数。
    • Ndb_api_wait_meta_request_count:此MySQL服务器(SQL节点)正在等待线程等待基于元数据的信号的次数。
    • Ndb_api_wait_meta_request_count_session:线程在此客户端会话中被阻止等待基于元数据的信号的次数。
    • Ndb_api_wait_meta_request_count_slave:该从属线程等待线程等待基于元数据的信号的次数。
    • Ndb_api_wait_nanos_count:此MySQL服务器(SQL节点)等待数据节点发出某种类型的信号所花费的总时间(以纳秒为单位)。
    • Ndb_api_wait_nanos_count_session:等待此客户端会话中的数据节点发出某种类型的信号所花费的总时间(以纳秒为单位)。
    • Ndb_api_wait_nanos_count_slave:此从站等待数据节点发出的某种类型信号所花费的总时间(以纳秒为单位)。
    • Ndb_api_wait_scan_result_count:线程被该MySQL服务器(SQL节点)等待基于扫描的信号时被阻塞的次数。
    • Ndb_api_wait_scan_result_count_session:线程在此客户端会话中等待基于扫描的信号时被阻塞的次数。
    • Ndb_api_wait_scan_result_count_slave:线程在等待此从站基于扫描的信号时被阻塞的次数。
    • ndb_autoincrement_prefetch_sz:NDB自动增加预取大小。
    • ndb_cache_check_time:MySQL查询缓存对集群SQL节点进行检查之间的毫秒数。
    • ndb_clear_apply_status:使RESET SLAVE清除ndb_apply_status表中的所有行;默认为开。
    • Ndb_cluster_node_id注意:如果服务器充当NDB群集节点,则此变量的值为其在群集中的节点ID。
    • Ndb_config_from_host:群集管理服务器的主机名或IP地址(以前为Ndb_connected_host)。
    • Ndb_config_from_port:用于连接集群管理服务器的端口。以前是Ndb_connected_port。
    • Ndb_conflict_fn_epoch:NDB $ EPOCH()冲突检测功能发现冲突的行数。
    • Ndb_conflict_fn_epoch2:通过NDB $ EPOCH2()冲突检测功能发现冲突的行数。
    • Ndb_conflict_fn_epoch2_trans:NDB $ EPOCH2_TRANS()冲突检测函数发现冲突的行数。
    • Ndb_conflict_fn_epoch_trans:NDB $ EPOCH_TRANS()冲突检测函数发现冲突的行数。
    • Ndb_conflict_fn_max:如果服务器是参与群集复制的NDB群集的一部分,则此变量的值指示已应用基于“更大的时间戳获胜”的冲突解决的次数。
    • Ndb_conflict_fn_old:如果服务器是参与群集复制的NDB群集的一部分,则此变量的值指示已应用“相同时间戳获胜”冲突解决的次数。
    • Ndb_conflict_last_conflict_epoch:此从站上最近的NDB时期已检测到冲突。
    • Ndb_conflict_last_stable_epoch:事务冲突函数发现存在冲突的行数。
    • Ndb_conflict_reflected_op_discard_count:由于执行过程中的错误而未应用的反射操作数。
    • Ndb_conflict_reflected_op_prepare_count:已收到准备执行的反射操作数。
    • Ndb_conflict_refresh_op_count:已准备的刷新操作数。
    • Ndb_conflict_trans_conflict_commit_count:需要进行事务冲突处理后提交的纪元事务的数量。
    • Ndb_conflict_trans_detect_iter_count:提交纪元事务所需的内部迭代次数。应该(略)大于或等于Ndb_conflict_trans_conflict_commit_count。
    • Ndb_conflict_trans_reject_count:被事务冲突功能发现冲突后被拒绝的事务数。
    • Ndb_conflict_trans_row_conflict_count:通过事务冲突功能发现冲突的行数。包括包含在冲突事务中或依赖冲突事务的任何行。
    • Ndb_conflict_trans_row_reject_count:通过事务冲突功能发现冲突后重新排列的总行数。包括Ndb_conflict_trans_row_conflict_count以及包含在冲突事务中或依赖于冲突事务的任何行。
    • ndb_data_node_neighbour:指定与该MySQL服务器“最近”的群集数据节点,用于事务提示和完全复制的表。
    • ndb_default_column_format:设置用于新NDB表的默认行格式和列格式(FIXED或DYNAMIC)。
    • ndb_deferred_constraints:指定应推迟约束检查(在支持的情况下)。通常不需要或不使用;仅用于测试目的。
    • ndb_dbg_check_shares:检查是否有任何残留的共享(仅调试版本)。
    • ndb-schema-dist-timeout:在架构分发期间检测到超时之前要等待的时间。
    • ndb_distribution:NDBCLUSTER中新表的默认分发(KEYHASH或LINHASH,默认为KEYHASH)。
    • Ndb_epoch_delete_delete_count:检测到的删除/删除冲突数量(已应用删除操作,但行不存在)。
    • ndb_eventbuffer_free_percent:达到ndb_eventbuffer_max_alloc设置的限制后,在恢复缓冲之前,事件缓冲区中应有的可用内存百分比。
    • ndb_eventbuffer_max_alloc:NDB API可以分配用于缓冲事件的最大内存。默认为0(无限制)。
    • Ndb_execute_count:提供操作产生的到NDB内核的往返次数。
    • ndb_extra_logging:控制MySQL错误日志中NDB群集架构,连接和数据分发事件的日志记录。
    • ndb_force_send:强制将缓冲区立即发送到NDB,而无需等待其他线程。
    • ndb_fully_replicated:是否完全复制了新的NDB表。
    • ndb_index_stat_enable:在查询优化中使用NDB索引统计信息。
    • ndb_index_stat_option:以逗号分隔的NDB索引统计信息的可调选项列表;该列表不应包含空格。
    • ndb_join_pushdown:启用下推到数据节点的联接。
    • Ndb_last_commit_epoch_server:NDB最近提交的纪元。
    • Ndb_last_commit_epoch_session:此NDB客户端最近提交的纪元。
    • ndb_log_apply_status:充当从服务器的MySQL服务器是否使用其自己的服务器ID在其自己的二进制日志中记录从其直接主服务器收到的mysql.ndb_apply_status更新。
    • ndb_log_bin:将更新写入NDB表的二进制日志中。仅在通过--log-bin启用二进制日志记录时有效。
    • ndb_log_binlog_index:将历元和二进制日志位置之间的映射插入到ndb_binlog_index表中。默认为开。仅在服务器上启用二进制日志记录时有效。
    • ndb_log_empty_epochs注意:启用后,即使启用log_slave_updates,没有更改的纪元也会写入ndb_apply_status和ndb_binlog_index表。
    • ndb_log_empty_update注意:启用后,即使启用log_slave_updates,也不会更改的更新将被写入ndb_apply_status和ndb_binlog_index表。
    • ndb_log_exclusive_reads:记录具有互斥锁的主键读取;允许基于读取冲突解决冲突。
    • ndb_log_orig:原始服务器的ID和时期是否记录在mysql.ndb_binlog_index表中。启动mysqld时使用--ndb-log-orig选项进行设置。
    • ndb_log_transaction_id:是否将NDB事务ID写入二进制日志(只读)。
    • ndb-log-update-minimal:以最小格式记录更新。
    • ndb-log-updated-only:记录完整的行(ON)或仅更新(OFF)。
    • ndb_metadata_check:启用相对于MySQL数据字典的NDB元数据更改的自动检测;默认情况下启用。
    • Ndb_metadata_blacklist_size:NDB Binlog线程未能同步的NDB元数据对象的数量。
    • ndb_metadata_check_interval:以秒为单位的时间间隔,以检查NDB元数据相对于MySQL数据字典的变化。
    • Ndb_metadata_detected_count:NDB元数据更改监视线程检测到更改的次数。
    • Ndb_metadata_synced_count:已同步的NDB元数据对象的数量。
    • Ndb_number_of_data_nodes注意:如果服务器是NDB群集的一部分,则此变量的值为群集中数据节点的数量。
    • ndb-optimization-delay:设置NDB表上由OPTIMIZE TABLE处理行集之间等待的毫秒数。
    • ndb_optimized_node_selection:确定SQL节点如何选择群集数据节点用作事务协调器。
    • Ndb_pruned_scan_count:自上次启动群集以来可以使用分区修剪的NDB执行的扫描次数。
    • Ndb_pushed_queries_defined:API节点尝试向下推送到数据节点的连接数。
    • Ndb_pushed_queries_dropped:API节点尝试下推但失败的连接数。
    • Ndb_pushed_queries_executed:成功下推并在数据节点上执行的联接数。
    • Ndb_pushed_reads:通过下推联接在数据节点上执行的读取次数。
    • ndb_read_backup:启用所有NDB表从任何副本的读取;使用NDB_TABLE = READ_BACKUP ={0 | 1}和CREATE TABLE或ALTER TABLE来启用或禁用单个NDB表。
    • ndb_recv_thread_activation_threshold:接收线程接管集群连接的轮询时的激活阈值(在并发活动线程中度量)。
    • ndb_recv_thread_cpu_mask:用于将接收器线程锁定到特定CPU的CPU掩码;指定为十六进制。有关详细信息,请参见文档。
    • ndb_report_thresh_binlog_epoch_slip:NDB 7.5.4和更高版本:阈值,用于完全缓冲但未由binlog注入器线程占用的周期数,当超出阈值时将生成BUFFERED_EPOCHS_OVER_THRESHOLD事件缓冲区状态消息;NDB 7.5.4之前的版本:报告二进制日志状态之前要滞后的时期数的阈值。
    • ndb_report_thresh_binlog_mem_usage:这是报告二进制日志状态之前剩余可用内存百分比的阈值。
    • ndb_row_checksum:启用后,设置行校验和;默认情况下启用。
    • Ndb_scan_count:自上次启动群集以来,NDB执行的扫描总数。
    • ndb_schema_dist_lock_wait_timeout:模式分发期间等待锁定然后返回错误的时间。
    • ndb_schema_dist_timeout:在架构分发期间检测到超时之前等待的时间。
    • ndb_schema_dist_upgrade_allowed:连接到NDB时允许架构分配表升级。
    • ndb_show_foreign_key_mock_tables:显示用于支持foreign_key_checks = 0的模拟表。
    • ndb_slave_conflict_role:从属在冲突检测和解决中扮演的角色。值是PRIMARY,SECONDARY,PASS或NONE(默认值)之一。仅当从属SQL线程停止时才能更改。请参阅文档以获取更多信息。
    • Ndb_slave_max_replicated_epoch:此从属服务器上最近提交的NDB时期。当此值大于或等于Ndb_conflict_last_conflict_epoch时,尚未检测到冲突。
    • Ndb_system_name:配置的集群系统名称;如果服务器未连接到NDB,则为空。
    • ndb_table_no_logging注意:启用此设置后创建的NDB表不会检查指向磁盘(尽管已创建表架构文件)。在使用NDBCLUSTER创建表或使用NDBCLUSTER更改表时有效的设置在表的生存期内一直存在。
    • ndb_table_temporary:NDB表在磁盘上不是持久性的:不会创建任何模式文件,并且不会记录这些表。
    • Ndb_trans_hint_count_session:使用已在此会话中启动的提示进行的事务数。
    • ndb_use_copying_alter_table:在NDB群集中使用复制ALTER TABLE操作。
    • ndb_use_exact_count:计划查询时,请使用确切的行数。
    • ndb_use_transactions:强制NDB在SELECT COUNT(*)查询计划期间使用记录计数来加快这种类型的查询。
    • ndb_version:将构建和NDB引擎版本显示为整数。
    • ndb_version_string:以ndb-xyz格式显示构建信息,包括NDB引擎版本。
    • ndbcluster:启用NDB群集(如果此版本的MySQL支持)。被禁用--skip-ndbcluster
    • ndbinfo:启用ndbinfo插件(如果支持)。
    • ndbinfo_database:用于NDB信息数据库的名称;只读。
    • ndbinfo_max_bytes:仅用于调试。
    • ndbinfo_max_rows:仅用于调试。
    • ndbinfo_offline:将ndbinfo数据库置于脱机模式,在该模式下,表或视图不返回任何行。
    • ndbinfo_show_hidden:是否在mysql客户端中显示ndbinfo内部基表。默认为关闭。
    • ndbinfo_table_prefix:用于命名ndbinfo内部基表的前缀。
    • ndbinfo_version:ndbinfo引擎的版本;只读。
    • server_id_bits:设置server_id中实际用于标识服务器的最低有效位的数量,从而允许NDB API应用程序以最高有效位存储应用程序数据。server_id必须小于此值的幂的2。
    • skip-ndbcluster:禁用NDB群集存储引擎。
    • slave_allow_batching:打开和关闭复制从属服务器的更新批处理。
    • transaction_allow_batching:允许在事务中批处理语句。禁用自动提交功能。