- 25.4.3.1 NDB叢集組態:基本範例
- 25.4.3.2 NDB叢集建議的起始組態
- 25.4.3.3 NDB叢集連線字串
- 25.4.3.4 在NDB叢集中定義電腦
- 25.4.3.5 定義NDB叢集管理伺服器
- 25.4.3.6 定義NDB叢集資料節點
- 25.4.3.7 在NDB叢集中定義SQL和其他API節點
- 25.4.3.8 定義系統
- 25.4.3.9 NDB叢集的MySQL伺服器選項和變數
- 25.4.3.10 NDB叢集TCP/IP連線
- 25.4.3.11 使用直接連線的NDB叢集TCP/IP連線
- 25.4.3.12 NDB叢集共享記憶體連線
- 25.4.3.13 資料節點記憶體管理
- 25.4.3.14 設定NDB叢集傳送緩衝區參數
設定NDB叢集需要處理兩個檔案
my.cnf
:指定所有NDB叢集可執行檔的選項。這個檔案,您應該從先前使用MySQL的經驗中熟悉它,必須可讓叢集中執行的每個可執行檔存取。config.ini
:這個檔案,有時稱為全域組態檔案,僅由NDB叢集管理伺服器讀取,然後將其中包含的資訊分發給參與叢集的所有程序。config.ini
包含叢集中涉及的每個節點的描述。這包括資料節點的組態參數,以及叢集中所有節點之間連線的組態參數。有關此檔案中可以顯示的區段,以及每個區段中可以放置哪些組態參數的快速參考,請參閱config.ini檔案的區段。
組態資料的快取。 NDB
使用具狀態組態。管理伺服器不會每次重新啟動都讀取全域組態檔案,而是會在第一次啟動時快取組態,之後,只有在以下條件之一為真時,才會讀取全域組態檔案
使用 --initial 選項啟動管理伺服器。 使用
--initial
時,會重新讀取全域組態檔案,刪除任何現有的快取檔案,並且管理伺服器會建立新的組態快取。使用 --reload 選項啟動管理伺服器。
--reload
選項會使管理伺服器將其快取與全域組態檔案進行比較。如果它們不同,管理伺服器會建立新的組態快取;任何現有的組態快取都會保留,但不使用。如果管理伺服器的快取和全域組態檔案包含相同的組態資料,則會使用現有的快取,並且不會建立新的快取。使用 --config-cache=FALSE 啟動管理伺服器。 這會停用
--config-cache
(預設為啟用),並且可以用來強制管理伺服器完全略過組態快取。在這種情況下,管理伺服器會忽略任何可能存在的組態檔案,始終從config.ini
檔案讀取其組態資料。找不到組態快取。 在這種情況下,管理伺服器會讀取全域組態檔案,並建立包含與檔案中找到的相同組態資料的快取。
組態快取檔案。 管理伺服器預設會在MySQL安裝目錄中名為mysql-cluster
的目錄中建立組態快取檔案。(如果您在Unix系統上從原始碼建置NDB叢集,預設位置是/usr/local/mysql-cluster
。)這可以在執行階段透過使用--configdir
選項啟動管理伺服器來覆寫。組態快取檔案是根據模式ndb_
命名的二進制檔案,其中node_id
_config.bin.seq_id
node_id
是叢集中管理伺服器的節點ID,而seq_id
是快取識別碼。快取檔案會按建立順序使用seq_id
依序編號。管理伺服器會使用seq_id
確定的最新快取檔案。
可以透過刪除較晚的組態快取檔案,或重新命名較早的快取檔案使其具有較高的seq_id
來回滾到先前的組態。但是,由於組態快取檔案是以二進制格式寫入的,因此您不應該嘗試手動編輯其內容。
有關NDB叢集管理伺服器的--configdir
、--config-cache
、--initial
和--reload
選項的詳細資訊,請參閱第 25.5.4 節,「ndb_mgmd — NDB叢集管理伺服器守護程式」。
我們不斷改進NDB叢集組態,並嘗試簡化此程序。儘管我們努力維持向後相容性,但有時可能會引入不相容的變更。在這種情況下,如果變更不是向後相容的,我們會盡量事先通知NDB叢集使用者。如果您發現這樣的變更而我們沒有記錄它,請使用第 1.6 節,「如何回報錯誤或問題」中提供的指示在MySQL錯誤資料庫中回報它。