在一个MySQL群集中,我有三台主机,一台带有管理器节点,另外两台分别是数据节点和sql节点.可以连接到管理器,但是只能作为[ndbd]而不是[mysqld]….这意味着管理器将它们视为数据节点,而不是sql节点.除了“未连接”部分外,其他所有内容均应正常显示,并且我没有收到任何错误消息.所以我的问题是,为什么管理器节点仅将每台机器识别为数据节点,而不是mysql节点?
在下面,您可以看到ndb_mgm群集配置,后跟config.ini的内容:
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @10.0.40.105 (mysql-5.5.25 ndb-7.2.7, Nodegroup: 0, Master)
id=3 @10.0.40.100 (mysql-5.5.25 ndb-7.2.7, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.40.119 (mysql-5.5.25 ndb-7.2.7)
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
config.ini:
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
[tcp default]
# TCP/IP options:
[ndb_mgmd]
# Management process options:
hostname=10.0.40.119 # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster # Directory for MGM node log files
NodeId=1
[ndbd]
# Options for data node-1:
# (one [ndbd] section per data node)
hostname=10.0.40.105 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's data files
NodeId=2
[ndbd]
# Options for data node-2:
hostname=10.0.40.100 # Hostname or IP address
datadir=/usr/local/mysql/data # Directory for this data node's data files
NodeId=3
#one [mysqld] per storage node
[mysqld]
[mysqld]
/etc/my.cnf:
[mysqld]
ndbcluster
ndb-connectstring=10.0.40.119
[mysql_cluster]
ndb-connectstring=10.0.40.119
我对启动mysqld有一些困惑.我启动每个节点所经历的过程如下:
ndb_mgmd:
ndb_mgmd --initial --skip-config-cache -f /var/lib/mysql-cluster/config.ini
ndb_mgm
ndbd / mysqld:
ndbd --initial
/etc/init.d/mysql.server start