文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  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. ndbmtd 程序中嚴重錯誤產生的追蹤檔方式,與 ndbd 失敗產生的方式略有不同。在接下來的幾段中將更詳細地討論這些差異。

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。舉例來說,如果一個以節點 ID 3 運行的 NDB Cluster 資料節點的 ndbmtd 程式發生故障,且 MaxNoOfExecutionThreads 等於 4,則會在資料節點的資料目錄中產生四個追蹤檔案。如果這是此節點第一次發生故障,則這些檔案會被命名為 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 Cluster 中,不同的資料節點上可以同時使用 ndbdndbmtd。然而,這種配置尚未經過廣泛測試;因此,我們目前不建議在生產環境中使用。