本節中的清單提供用於設定 NDB 叢集資料節點的 [ndbd]
或 [ndbd default]
config.ini
檔案區段中的參數相關資訊。如需關於每個這些參數的詳細說明和其他額外資訊,請參閱第 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 來壓縮寫入的備份。壓縮 LCP (CompressedLCP)
:使用 zlib 寫入壓縮的 LCP。連線檢查間隔延遲 (ConnectCheckIntervalDelay)
:資料節點連線檢查階段之間的時間。資料節點在 1 個間隔後若沒有回應,則會被視為可疑,在 2 個間隔後則會被視為死機。在損毀 Tuple 時當機 (CrashOnCorruptedTuple)
:啟用時,會在偵測到損毀的 Tuple 時強制節點關閉。資料目錄 (DataDir)
:此節點的資料目錄。資料記憶體 (DataMemory)
:每個資料節點上配置用於儲存資料的位元組數;受可用系統 RAM 和 IndexMemory 大小的限制。預設雜湊對應大小 (DefaultHashMapSize)
:設定用於資料表雜湊對應的大小 (以 Bucket 為單位)。支援三個值:0、240 和 3840。DictTrace
:啟用 DBDICT 除錯;適用於 NDB 開發。磁碟資料使用相同磁碟 (DiskDataUsingSameDisk)
:如果「磁碟資料」表格空間位於個別的實體磁碟上,則設定為 false。磁碟 IO 執行緒集區 (DiskIOThreadPool)
:用於檔案存取的不受限制的執行緒數,僅適用於磁碟資料。無磁碟 (Diskless)
:在不使用磁碟的情況下執行。磁碟頁面緩衝區項目 (DiskPageBufferEntries)
:要在 DiskPageBufferMemory 中配置的記憶體;非常大的磁碟交易可能需要增加此值。磁碟頁面緩衝區記憶體 (DiskPageBufferMemory)
:每個資料節點上配置用於磁碟頁面緩衝區快取的位元組數。磁碟同步大小 (DiskSyncSize)
:強制同步之前寫入檔案的資料量。啟用部分 LCP (EnablePartialLcp)
:啟用部分 LCP (true);如果停用 (false),則所有 LCP 都會寫入完整檢查點。啟用重做控制 (EnableRedoControl)
:啟用可調整檢查點速度,以控制重做記錄的使用。加密檔案系統 (EncryptedFileSystem)
:加密本機檢查點和表格空間檔案。實驗性;在生產環境中不支援。事件記錄緩衝區大小 (EventLogBufferSize)
:資料節點內 NDB 記錄事件的循環緩衝區大小。在電腦上執行 (ExecuteOnComputer)
:參考先前定義的 COMPUTER 的字串。額外傳送緩衝區記憶體 (ExtraSendBufferMemory)
:除了 TotalSendBufferMemory 或 SendBufferMemory 配置的任何記憶體之外,用於傳送緩衝區的記憶體。預設值 (0) 允許最多 16MB。檔案系統路徑 (FileSystemPath)
:資料節點儲存其資料的目錄路徑 (目錄必須存在)。檔案系統路徑資料檔案 (FileSystemPathDataFiles)
:資料節點儲存其「磁碟資料」檔案的目錄路徑。預設值為 FilesystemPathDD (若有設定);否則,如果已設定,則會使用 FilesystemPath;否則,會使用 DataDir 的值。檔案系統路徑 DD (FileSystemPathDD)
:資料節點儲存其「磁碟資料」和復原檔案的目錄路徑。預設值為 FileSystemPath (若有設定);否則,會使用 DataDir 的值。檔案系統路徑復原檔案 (FileSystemPathUndoFiles)
:資料節點儲存其「磁碟資料」的復原檔案的目錄路徑。預設值為 FilesystemPathDD (若有設定);否則,如果已設定,則會使用 FilesystemPath;否則,會使用 DataDir 的值。片段記錄檔大小 (FragmentLogFileSize)
:每個重做記錄檔的大小。DbApi 間隔心跳 (HeartbeatIntervalDbApi)
:API 節點到資料節點的心跳之間的時間。(在錯過 3 次心跳後,API 連線會關閉)。DbDb 間隔心跳 (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
:訂閱節點可落後的最大紀元數(未處理的紀元)。超出會導致落後的訂閱者中斷連線。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
:當為 true 時,只要發生 watchdog 問題,就會立即終止執行緒;用於測試和除錯。
以下參數是 ndbmtd 特有的
AutomaticThreadConfig
:使用自動執行緒配置;覆寫 ThreadConfig 和 MaxNoOfExecutionThreads 的任何設定,並停用 ClassicFragmentation。ClassicFragmentation
:當為 true 時,使用傳統的表格片段;設定為 false 以啟用在 LDM 之間彈性分配片段。由 AutomaticThreadConfig 停用。EnableMultithreadedBackup
:啟用多執行緒備份。MaxNoOfExecutionThreads
:僅限於 ndbmtd,指定最大執行緒數。MaxSendDelay
:ndbmtd 延遲傳送的最大微秒數。NoOfFragmentLogParts
:屬於此資料節點的重做日誌檔案群組數。NumCPUs
:指定與 AutomaticThreadConfig 一起使用的 CPU 數。PartitionsPerNode
:決定在每個資料節點上建立的表格分割區數;如果啟用 ClassicFragmentation,則不使用。ThreadConfig
:用於多執行緒資料節點 (ndbmtd) 的配置。預設值為空字串;請參閱文件以了解語法和其他資訊。