本節說明規劃、安裝、設定和執行 NDB Cluster 的基礎知識。雖然第 25.4 節,「NDB Cluster 設定」中的範例提供了有關各種叢集選項和設定的更深入資訊,但遵循此處概述的指南和程序所得的結果應為一個可用的 NDB Cluster,它滿足可用性和資料保護的最低要求。
有關在發行版本之間升級或降級 NDB Cluster 的資訊,請參閱第 25.3.7 節,「升級和降級 NDB Cluster」。
本節涵蓋硬體和軟體需求;網路問題;NDB Cluster 的安裝;基本設定問題;啟動、停止和重新啟動叢集;載入範例資料庫;以及執行查詢。
假設。 以下各節對叢集的實體和網路設定做出了一些假設。這些假設將在接下來的幾個段落中討論。
叢集節點和主機電腦。 叢集由四個節點組成,每個節點位於不同的主機電腦上,並且每個節點在典型的乙太網路路上具有固定的網路位址,如下所示
此設定也顯示在下圖中
網路定址。 為了簡單起見(和可靠性),此操作指南僅使用數字 IP 位址。但是,如果您的網路上有 DNS 解析可用,則可以使用主機名稱代替 IP 位址來設定叢集。或者,您可以使用 hosts
檔案(對於 Linux 和其他類 Unix 作業系統,通常為 /etc/hosts
,對於 Windows,通常為 C:\WINDOWS\system32\drivers\etc\hosts
,或是您的作業系統的對等檔案)來提供主機查找的方法(如果可用)。
NDB
8.4 支援 IPv6,用於所有 NDB Cluster 節點之間的連線。
潛在的主機檔案問題。 在嘗試將主機名稱用於叢集節點時,常見的問題是某些作業系統(包括某些 Linux 發行版)在安裝過程中於 /etc/hosts
中設定系統本身的主機名稱的方式。考慮兩台主機名稱為 ndb1
和 ndb2
的電腦,它們都位於 cluster
網路網域中。Red Hat Linux(包括某些衍生版本,例如 CentOS 和 Fedora)將以下項目放置在這些電腦的 /etc/hosts
檔案中
# ndb1 /etc/hosts:
127.0.0.1 ndb1.cluster ndb1 localhost.localdomain localhost
# ndb2 /etc/hosts:
127.0.0.1 ndb2.cluster ndb2 localhost.localdomain localhost
SUSE Linux(包括 OpenSUSE)將這些項目放置在電腦的 /etc/hosts
檔案中
# ndb1 /etc/hosts:
127.0.0.1 localhost
127.0.0.2 ndb1.cluster ndb1
# ndb2 /etc/hosts:
127.0.0.1 localhost
127.0.0.2 ndb2.cluster ndb2
在這兩種情況下,ndb1
都將 ndb1.cluster
路由到迴路 IP 位址,但從 DNS 取得 ndb2.cluster
的公開 IP 位址,而 ndb2
將 ndb2.cluster
路由到迴路位址,並取得 ndb1.cluster
的公開位址。結果是每個資料節點都連接到管理伺服器,但無法得知是否有其他資料節點已連線,因此資料節點在啟動時似乎會掛起。
您無法在 config.ini
中混用 localhost
和其他主機名稱或 IP 位址。因此,在這種情況下(除了對所有 config.ini
HostName
項目使用 IP 位址之外)的解決方案是從 /etc/hosts
中移除完整的主機名稱,並將這些用於所有叢集主機的 config.ini
中。
主機電腦類型。 我們安裝案例中的每台主機電腦都是基於 Intel 的桌上型電腦,執行標準設定中安裝到磁碟上的支援作業系統,且未執行不必要的服務。具有標準 TCP/IP 網路功能的核心作業系統就足夠了。為了簡單起見,我們還假設所有主機上的檔案系統都設定相同。如果它們不相同,您應該相應地調整這些指示。
網路硬體。 每台電腦上都安裝了標準 100 Mbps 或 1 gigabit 乙太網路卡,以及適當的網卡驅動程式,並且所有四台主機都透過標準乙太網路設備(例如交換器)連接。(所有電腦都應使用具有相同輸送量的網卡。也就是說,叢集中的所有四台電腦都應具有 100 Mbps 網卡 或 所有四台電腦都應具有 1 Gbps 網卡。)NDB Cluster 可以在 100 Mbps 網路中運作;但是,gigabit 乙太網路提供更好的效能。
NDB Cluster 不適用於輸送量小於 100 Mbps 或延遲程度高的網路。因此(以及其他原因),嘗試在廣域網路(例如網際網路)上執行 NDB Cluster 不太可能成功,且不支援在生產環境中使用。
範例資料。 我們使用 world
資料庫,可從 MySQL 網站下載(請參閱 https://mysqldev.dev.org.tw/doc/index-other.html)。我們假設每台電腦都有足夠的記憶體來執行作業系統、所需的 NDB Cluster 程序,以及(在資料節點上)儲存資料庫。
有關安裝 MySQL 的一般資訊,請參閱第 2 章,《安裝 MySQL》。有關在 Linux 和其他類 Unix 作業系統上安裝 NDB Cluster 的資訊,請參閱第 25.3.1 節,「在 Linux 上安裝 NDB Cluster」。有關在 Windows 作業系統上安裝 NDB Cluster 的資訊,請參閱第 25.3.2 節,「在 Windows 上安裝 NDB Cluster」。
有關 NDB Cluster 硬體、軟體和網路需求的一般資訊,請參閱第 25.2.3 節,「NDB Cluster 硬體、軟體和網路需求」。