在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
1条答案
按热度按时间9fkzdhlc1#
您还没有显示
mysqlds
的my.cnf
文件,但我猜您缺少了[mysqld]
部分的以下两行之一:好了-您已经在
my.cnf
文件中定义了这些参数。接下来要检查的是-您是否使用了MySQL集群附带的
mysqld
(即不是“常规”mysqld
-不支持)?尝试使用
--verbose
选项启动mysqld
,看看是否有更多线索。查看集群日志(应该在10.0.40.119上**/var/lib/mysql-cluster**文件夹下)。查看mysqld
生成的所有日志条目。