在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
答案 0 :(得分:4)
您尚未显示my.cnf
的{{1}}文件,但我的猜测是您错过了mysqlds
部分中的以下两行之一:
[mysqld]
好的 - 所以你已经在ndbcluster
ndb-connectstring=10.0.40.119:1186
文件中定义了这些参数。
接下来要检查的是 - 你使用MySQL Cluster附带的my.cnf
(即不是'常规'mysqld
- 不支持)?
尝试使用mysqld
选项启动mysqld
并查看是否有更多线索。请查看群集日志(应位于 / var / lib / mysql-cluster 文件夹中的 10.0.40.119 。查看{生成的任何日志条目{1}}。