本節中的清單提供有關在 [ndbd] 或 [ndbd default] 區段的 config.ini 檔案中,用於設定 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) 允許最多 16MB。FileSystemPath:資料節點儲存其資料的目錄路徑(目錄必須存在)。FileSystemPathDataFiles:資料節點儲存其磁碟資料檔案的目錄路徑。如果設定,則預設值為 FilesystemPathDD;否則,如果設定 FilesystemPath,則使用它;否則,使用 DataDir 的值。FileSystemPathDD:資料節點儲存其磁碟資料和復原檔案的目錄路徑。如果設定,則預設值為 FileSystemPath;否則,如果設定 FilesystemPath,則使用它;否則,使用 DataDir 的值。FileSystemPathUndoFiles:資料節點儲存其磁碟資料復原檔案的目錄路徑。如果設定,則預設值為 FilesystemPathDD;否則,如果設定 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 ID,指示哪個 CPU 執行維護執行緒。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:訂閱節點可以落後(未處理的 Epoch)的允許數量。超出此值會導致落後的訂閱者斷線。MaxBufferedEpochBytes:為緩衝 Epoch 配置的位元組總數。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:若為 true,則每當發生看門狗問題時,執行緒會立即終止;用於測試和偵錯。
以下參數是 ndbmtd 特有的。
AutomaticThreadConfig:使用自動執行緒配置;覆寫 ThreadConfig 和 MaxNoOfExecutionThreads 的任何設定,並停用 ClassicFragmentation。ClassicFragmentation:若為 true,則使用傳統的資料表分段;設定為 false 以啟用在 LDM 之間彈性分散片段。由 AutomaticThreadConfig 停用。EnableMultithreadedBackup:啟用多執行緒備份。MaxNoOfExecutionThreads:僅適用於 ndbmtd,指定執行緒的最大數量。MaxSendDelay:ndbmtd 延遲傳送的最大微秒數。NoOfFragmentLogParts:屬於此資料節點的重做日誌檔案群組數量。NumCPUs:指定要搭配 AutomaticThreadConfig 使用的 CPU 數量。PartitionsPerNode:決定在每個資料節點上建立的資料表分割區數量;如果啟用 ClassicFragmentation,則不會使用。ThreadConfig:用於設定多執行緒資料節點 (ndbmtd)。預設值為空字串;請參閱文件以了解語法和其他資訊。