文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 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 參考手冊  /  MySQL NDB Cluster 9.0  /  NDB Cluster 安裝

25.3 NDB Cluster 安裝

本節描述規劃、安裝、配置和執行 NDB Cluster 的基本知識。 儘管 第 25.4 節,「NDB Cluster 的配置」中的範例提供了關於各種叢集選項和配置的更深入資訊,但遵循此處概述的準則和程序,其結果應是一個可用的 NDB Cluster,並滿足可用性和資料保護的最低要求。

有關在發行版本之間升級或降級 NDB Cluster 的資訊,請參閱第 25.3.7 節,「升級和降級 NDB Cluster」

本節涵蓋硬體和軟體要求;網路問題;NDB Cluster 的安裝;基本配置問題;啟動、停止和重新啟動叢集;載入範例資料庫;以及執行查詢。

假設。 以下各節對叢集的實體和網路配置做出了一些假設。 這些假設將在接下來的幾個段落中討論。

叢集節點和主機電腦。 叢集由四個節點組成,每個節點都在單獨的主機電腦上,並且每個節點在典型的乙太網路路上都有固定的網路位址,如下所示

表 25.4:範例叢集中節點的網路位址

節點 IP 位址
管理節點 (mgmd) 198.51.100.10
SQL 節點 (mysqld) 198.51.100.20
資料節點「A」(ndbd) 198.51.100.30
資料節點「B」(ndbd) 198.51.100.40

此設定也顯示在下圖中

圖 25.4:NDB Cluster 多電腦設定

Most content is described in the surrounding text. The four nodes each connect to a central switch that connects to a network.

網路位址。 為了簡化(和可靠性),此操作指南僅使用數字 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 中設定系統本身的主機名稱的方式所引起的。 請考慮兩台主機名稱為 ndb1ndb2 的機器,兩者都在 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 位址,而 ndb2ndb2.cluster 路由到迴路位址,並取得 ndb1.cluster 的公用位址。 結果是每個資料節點都連接到管理伺服器,但是無法知道何時有其他任何資料節點連線,因此資料節點在啟動時似乎會掛起。

注意

您不能在 config.ini 中混合 localhost 和其他主機名稱或 IP 位址。 因此,在這種情況下(除了對所有config.iniHostName 條目使用 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 硬體、軟體和網路要求」