Mysql

MySQL 集群設置,收到錯誤“指定節點 ID”

  • February 20, 2022

我正在嘗試建立一個 MySQL 集群。

我有以下設置:

  • 一個管理節點
  • 兩個數據節點
  • 一個 SQL 節點

下面是config.ini文件:

[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=1     # Number of replicas

DataMemory=256M    # How much memory to allocate for data storage

IndexMemory=128M   # How much memory to allocate for index storage


#Directory for Data Node
DataDir=/var/lib/mysql-cluster

[ndb_mgmd]

# Management process options:
HostName=x.x.x.21

datadir=/var/lib/mysql-cluster

# Storage Nodes
[NDBD]

HostName=x.x.x.188
DataDir= /var/lib/mysql-cluster

[NDBD]

HostName=x.x.x.189
DataDir= /var/lib/mysql-cluster

# Setup node IDs for MySQL API-servers (clients of the cluster)
[mysqld]
# SQL node options:
hostname=x.x.x.22

下面是my.cnf文件

[mysqld]

ndbcluster # run NDB storage engine

ndb-connectstring=X.X.X.21 # location of management server

[mysql_cluster]

ndb-connectstring=X.X.X.21 # location of management server

但是當我啟動命令ndb_mgmd -f /etc/config.ini --initial 時,我收到以下錯誤:

MySQL 集群管理伺服器 mysql-5.6.28 ndb-7.4.10

2018-05-09 14:29:08

$$ MgmtSrvr $$錯誤——無法確定該節點使用哪個 nodeid。在命令行上用 –ndb-nodeid= 指定它

有人可以幫忙嗎?

(免責聲明:我不是 NDB 集群方面的專家)

一些嘗試的選擇:

您是否嘗試ndb_mgmd過該--no-nodeid-checks選項?

ndb_mgmd 文件頁面上的說明

正如錯誤消息所暗示的那樣,也許嘗試ndb_mgmd使用該--ndb-nodeid=選項?我猜任何小的數字都可能是有效的。(注:猜測!)

Common NDB Options 文件頁面上的說明

為了簡單起見,我總是在 config.ini 中指定節點 ID:

[NDB_MGMD]
節點 ID=1
主機名=10.xxx.xxx.xxx

[NDBD]
節點 ID=10
主機名=10.xxx.xxx.xxx
datadir=/mysql/集群

[NDBD]
節點 ID=11
主機名=10.xxx.xxx.xxx
datadir=/mysql/集群

[MYSQL]
節點 ID=20
[MYSQL]
節點 ID=21
[MYSQL]
節點 ID=22
...

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