Mysql

在兩個系統上設置 MySQL 集群

  • June 2, 2018

我正在嘗試設置 MySQL 集群。

我有以下設置

  • 一個管理節點
  • 兩個數據節點
  • 另一台機器上還有兩個節點駐留

下面是 config.ini 文件:

[ndbd 預設]

# 影響所有數據節點上 ndbd 程序的選項:
NoOfReplicas=2 #副本數

DataMemory=80M #為數據儲存分配多少記憶體

IndexMemory=18M # 為索引儲存分配多少記憶體

# 對於 DataMemory 和 IndexMemory,我們使用了
# 預設值。由於“世界”數據庫佔用
# 只有大約 500KB,這應該綽綽有餘
# 這個範例集群設置。

DataDir=/var/lib/mysql-cluster

[MYSQLD 預設值]

[NDB_MGMD 預設]

LogDestination=FILE:filename=my-cluster.log


[tcp 預設]

[ndb_mgmd]

# 管理程序選項:
hostname=XXX26 #MGM節點的主機名或IP地址

datadir=/var/lib/mysql-cluster # MGM 節點日誌文件目錄

# 儲存節點
[NDBD]

hostname=XXX26 # storage-node-1的IP地址

DataDir= /var/lib/mysql-cluster

[NDBD]

HostName=XXX73 # storage-node-2的IP地址

DataDir= /var/lib/mysql-cluster

[NDBD]
hostname=XXX26 # storage-node-3的IP地址
DataDir= /var/lib/mysql-cluster

[NDBD]
HostName=XXX73 # storage-node-4的IP地址
DataDir= /var/lib/mysql-cluster

# 為 mySQL API 伺服器(集群的客戶端)設置節點 ID

[mysqld]
# SQL 節點選項:
hostname=XXX73 #主機名或IP地址
# (額外的mysqld連接可以是
# 為這個節點指定的各種
# 執行ndb_restore等目的)

以下是my.cnf兩個系統的文件:

[mysqld]

ndbcluster # 執行 NDB 儲存引擎

ndb-connectstring=XXX26 #管理伺服器的位置

[mysql_cluster]

ndb-connectstring=XXX26 #管理伺服器的位置

當我嘗試啟動集群時,它給了我以下錯誤:

Could not determine which NodeID to use for this node. Specify it with --ndb-nodeid=<nodeid> on command line

如果集群設置完成,沒有數據複製,因為它再次給我另一個錯誤:ERROR 1296 (HY000): Got error 4009 'Cluster Failure' from NDBCLUSTER

誰能幫我確定問題?

您的管理配置對我來說似乎很好。聽起來 ndb_mgmd 並沒有完全死掉,或者管理伺服器上 /var/lib/mysql-cluster 目錄中的內容有問題。

您可能還想確保 ndb_mgmd 沒有自動啟動,例如通過 /etc/init.d/ 中的一些啟動腳本。

為了嘗試解決這個問題,我會先從這些步驟開始。

由於您剛剛開始並且還沒有任何真實數據。

  1. 殺死任何剩餘的 ndb_mgmd 程序: killall ndb_mgmd如果 killall 沒有幫助,則重新啟動。
  2. 完全刪除 /var/lib/mysql-cluster 中的所有內容:rm -Rf /var/lib/mysql-cluster/*
  3. 再次啟動集群程序:ndb_mgmd -f /etc/config.ini --initial
  4. 驗證 ndb_mgmd 是否正在使用 netstat 進行偵聽

$> 網路統計-tlpn

活動 Internet 連接(僅限伺服器) Proto Recv-Q Send-Q 本地地址 外部地址 狀態 PID/程序名稱

tcp 0 0 0.0.0.0:1186 0.0.0.0: LISTEN 3251/ndb_mgmd*

連接到管理節點

$> ndb_mgm
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration


[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.9.26  (mysql-5.1.61 ndb-7.1.22)

更新

這是 Oracle 的快速入門指南,所有節點、管理、mysql 和數據都在一台伺服器上執行。

http://downloads.mysql.com/tutorials/cluster/GetMySQLClusterRunning-LINUX.pdf

引用自:https://dba.stackexchange.com/questions/23881