文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  ndbmtd — NDB 叢集資料節點精靈(多執行緒)

25.5.3 ndbmtd — NDB 叢集資料節點精靈(多執行緒)

ndbmtdndbd 的多執行緒版本,該程序用於處理使用 NDBCLUSTER 儲存引擎的所有表格中的資料。ndbmtd 適用於具有多個 CPU 核心的主機電腦。除非另有說明,否則 ndbmtd 的功能與 ndbd 相同;因此,在本節中,我們將重點介紹 ndbmtdndbd 的不同之處,您應該參考 第 25.5.1 節,「ndbd — NDB 叢集資料節點精靈」,以取得有關執行 NDB 叢集資料節點的更多資訊,這些資訊適用於資料節點程序的單執行緒和多執行緒版本。

ndbd 一起使用的命令列選項和組態參數也適用於 ndbmtd。如需有關這些選項和參數的更多資訊,請參閱 第 25.5.1 節,「ndbd — NDB 叢集資料節點精靈」第 25.4.3.6 節,「定義 NDB 叢集資料節點」

ndbmtd 也與 ndbd 具有檔案系統相容性。換句話說,可以停止執行 ndbd 的資料節點,將二進位檔替換為 ndbmtd,然後重新啟動,而不會遺失任何資料。(但是,執行此操作時,您必須確保在重新啟動節點之前,已將 MaxNoOfExecutionThreads 設定為適當的值,如果您希望 ndbmtd 以多執行緒方式執行。)同樣地,只需停止節點,然後啟動 ndbd 以取代多執行緒二進位檔,即可將 ndbmtd 二進位檔替換為 ndbd。在兩者之間切換時,無需使用 --initial 來啟動資料節點二進位檔。

使用 ndbmtd 與使用 ndbd 的主要差異有兩個方面

  1. 由於 ndbmtd 預設以單執行緒模式執行(也就是說,它的行為與 ndbd 相同),因此您必須設定它以使用多個執行緒。這可以透過在 config.ini 檔案中為 MaxNoOfExecutionThreads 組態參數或 ThreadConfig 組態參數設定適當的值來完成。使用 MaxNoOfExecutionThreads 較為簡單,但 ThreadConfig 提供更大的彈性。如需有關這些組態參數及其使用的更多資訊,請參閱 多執行緒組態參數 (ndbmtd)

  2. ndbd 故障時產生追蹤檔案的方式相比,ndbmtd 程序中發生嚴重錯誤時產生追蹤檔案的方式略有不同。接下來的幾個段落將更詳細地討論這些差異。

ndbd 相同,ndbmtd 會產生一組記錄檔,這些記錄檔會放置在 config.ini 組態檔案中 DataDir 指定的目錄中。除了追蹤檔案外,這些檔案的產生方式與 ndbd 產生的檔案相同,且名稱也相同。

如果發生嚴重錯誤,ndbmtd 會產生追蹤檔案,描述錯誤發生之前的狀況。這些檔案可以在資料節點的 DataDir 中找到,對於 NDB 叢集開發和支援團隊分析問題很有用。會為每個 ndbmtd 執行緒產生一個追蹤檔案。這些檔案的名稱具有下列模式

ndb_node_id_trace.log.trace_id_tthread_id,

在此模式中,node_id 代表叢集中資料節點的唯一節點 ID,trace_id 是追蹤序號,而 thread_id 是執行緒 ID。例如,如果 ndbmtd 程序以節點 ID 為 3 且 MaxNoOfExecutionThreads 等於 4 的 NDB 叢集資料節點執行而發生故障,則會在資料節點的資料目錄中產生四個追蹤檔案。如果這是此節點第一次發生故障,則這些檔案的名稱為 ndb_3_trace.log.1_t1ndb_3_trace.log.1_t2ndb_3_trace.log.1_t3ndb_3_trace.log.1_t4。在內部,這些追蹤檔案的格式與 ndbd 追蹤檔案相同。

當資料節點程序過早關閉時產生的 ndbd 結束代碼和訊息也會由 ndbmtd 使用。請參閱 資料節點錯誤訊息,以取得這些訊息的清單。

注意

可以在同一個 NDB 叢集中不同的資料節點上同時使用 ndbdndbmtd。但是,尚未對此類組態進行廣泛測試;因此,目前我們不建議在生產環境中執行此操作。