本節描述規劃、安裝、配置和執行 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
9.0 支援 IPv6 用於所有 NDB Cluster 節點之間的連線。
潛在的 hosts 檔案問題。 嘗試使用主機名稱來進行叢集節點時,一個常見的問題是由於某些作業系統(包括某些 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 的桌上型 PC,它執行已安裝到標準配置磁碟上的受支援作業系統,並且沒有執行不必要的服務。 具有標準 TCP/IP 網路功能的作業系統核心應該就足夠了。 為了簡化起見,我們也假設所有主機上的檔案系統都設定為相同的。 如果它們不是,您應該相應地調整這些說明。
網路硬體。 每台機器都安裝了標準的 100 Mbps 或 1 gigabit 乙太網路卡,以及卡片的正確驅動程式,並且所有四台主機都透過標準的乙太網路設備(例如交換器)連接。 (所有機器都應使用具有相同吞吐量的網路卡。 也就是說,叢集中的所有四台機器都應該有 100 Mbps 卡 或 所有四台機器都應該有 1 Gbps 卡。) NDB Cluster 在 100 Mbps 網路中運作; 但是,gigabit 乙太網路可提供更好的效能。
NDB Cluster 不適合用於吞吐量小於 100 Mbps 或延遲度高的網路中。 因此(以及其他原因),嘗試透過廣域網路(例如網際網路)執行 NDB Cluster 不太可能成功,並且在生產中不受支援。
範例資料。 我們使用可以從 MySQL 網站下載的 world
資料庫(請參閱 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 硬體、軟體和網路要求」。