配置:
规格:
使用MySQL Cluster Auto-Installer部署了它。一切都运作得很好。
但是,当我关闭一个节点时,另一台服务器上的数据节点将重新启动。 NDB_MGM显示它是"开始"。退出"开始"需要很长时间。状态。
正如我测试的那样,当有四个节点时,它不会发生
有谁知道重启的原因是什么?
提前谢谢。
更新:配置文件和命令行参数
1. NDB_MGMD#50的配置文件
#
# Configuration file for MyCluster NDB_MGMD #49
# /usr/local/mysql/data/49/config.ini
[NDB_MGMD DEFAULT]
Portnumber=1186
[NDB_MGMD]
NodeId=49
HostName=192.168.1.128
DataDir=/usr/local/mysql/data/49/
Portnumber=1186
[NDB_MGMD]
NodeId=50
HostName=192.168.1.130
DataDir=/usr/local/mysql/data/50/
Portnumber=1186
[TCP DEFAULT]
SendBufferMemory=4M
ReceiveBufferMemory=4M
[NDBD DEFAULT]
BackupMaxWriteSize=1M
BackupDataBufferSize=16M
BackupLogBufferSize=4M
BackupMemory=20M
BackupReportFrequency=10
MemReportFrequency=30
LogLevelStartup=15
LogLevelShutdown=15
LogLevelCheckpoint=8
LogLevelNodeRestart=15
DataMemory=1M
IndexMemory=1M
MaxNoOfTables=4096
MaxNoOfTriggers=3500
NoOfReplicas=2
StringMemory=25
DiskPageBufferMemory=64M
SharedGlobalMemory=20M
LongMessageBuffer=32M
MaxNoOfConcurrentTransactions=16384
BatchSizePerLocalScan=512
FragmentLogFileSize=64M
NoOfFragmentLogFiles=16
RedoBuffer=32M
MaxNoOfExecutionThreads=2
StopOnError=false
LockPagesInMainMemory=1
TimeBetweenEpochsTimeout=32000
TimeBetweenWatchdogCheckInitial=60000
TransactionInactiveTimeout=60000
HeartbeatIntervalDbDb=15000
HeartbeatIntervalDbApi=15000
[NDBD]
NodeId=1
HostName=192.168.1.128
DataDir=/usr/local/mysql/data/1/
[NDBD]
NodeId=2
HostName=192.168.1.130
DataDir=/usr/local/mysql/data/2/
[MYSQLD DEFAULT]
[MYSQLD]
NodeId=53
HostName=192.168.1.128
[MYSQLD]
NodeId=54
HostName=192.168.1.130
2。 NDB_MGMD#50的配置文件
#
# Configuration file for MyCluster NDB_MGMD #50
# /usr/local/mysql/data/50/config.ini
[NDB_MGMD DEFAULT]
Portnumber=1186
[NDB_MGMD]
NodeId=49
HostName=192.168.1.128
DataDir=/usr/local/mysql/data/49/
Portnumber=1186
[NDB_MGMD]
NodeId=50
HostName=192.168.1.130
DataDir=/usr/local/mysql/data/50/
Portnumber=1186
[TCP DEFAULT]
SendBufferMemory=4M
ReceiveBufferMemory=4M
[NDBD DEFAULT]
BackupMaxWriteSize=1M
BackupDataBufferSize=16M
BackupLogBufferSize=4M
BackupMemory=20M
BackupReportFrequency=10
MemReportFrequency=30
LogLevelStartup=15
LogLevelShutdown=15
LogLevelCheckpoint=8
LogLevelNodeRestart=15
DataMemory=1M
IndexMemory=1M
MaxNoOfTables=4096
MaxNoOfTriggers=3500
NoOfReplicas=2
StringMemory=25
DiskPageBufferMemory=64M
SharedGlobalMemory=20M
LongMessageBuffer=32M
MaxNoOfConcurrentTransactions=16384
BatchSizePerLocalScan=512
FragmentLogFileSize=64M
NoOfFragmentLogFiles=16
RedoBuffer=32M
MaxNoOfExecutionThreads=2
StopOnError=false
LockPagesInMainMemory=1
TimeBetweenEpochsTimeout=32000
TimeBetweenWatchdogCheckInitial=60000
TransactionInactiveTimeout=60000
HeartbeatIntervalDbDb=15000
HeartbeatIntervalDbApi=15000
[NDBD]
NodeId=1
HostName=192.168.1.128
DataDir=/usr/local/mysql/data/1/
[NDBD]
NodeId=2
HostName=192.168.1.130
DataDir=/usr/local/mysql/data/2/
[MYSQLD DEFAULT]
[MYSQLD]
NodeId=53
HostName=192.168.1.128
[MYSQLD]
NodeId=54
HostName=192.168.1.130
命令行参数:
1.在服务器#1上启动ndb_mgmd
/usr/local/mysql/bin/ndb_mgmd --initial --ndb-nodeid=49 \
--config-dir=/usr/local/mysql/data/49/ \
--config-file=/usr/local/mysql/data/49/config.ini
2。在服务器#2上启动ndb_mgmd
/usr/local/mysql/bin/ndb_mgmd --initial --ndb-nodeid=50 \
--config-dir=/usr/local/mysql/data/50/ \
--config-file=/usr/local/mysql/data/50/config.ini
3。在服务器#1上启动ndbmtd
/usr/local/mysql/bin/ndbmtd --ndb-nodeid=1 --bind-address=192.168.1.128 \
--ndb-connectstring=192.168.1.240:1186,
4。在服务器#2上启动ndbmtd
/usr/local/mysql/bin/ndbmtd --ndb-nodeid=2 --bind-address=192.168.1.130 \
--ndb-connectstring=192.168.1.240:1186,
答案 0 :(得分:0)
双节点设置时出现问题。如果您遇到网络问题(裂脑情况),两个节点都不会看到对方,然后他们会决定关机。 然后,他们将开始,但他们将不得不等待另一个节点,除非" nowaitfornodes"已指定。
使用4个节点,您可以拆分群集3/1,因此具有网络功能的节点将具有足够的法定数量来验证它的mgm节点作为仲裁者,并且将成为主节点。
你应该解决这个问题,要么将mgm节点放在第三台机器上(它是一个非常轻的过程,所以不需要特殊资源)或者使用Cluster和绑定mgm服务到VIP。如果没有,您将失去其中一个节点的网络故障服务。
对于VIP配置数据,必须强制节点使用真实IP:
--bind-address=name
并且应将ArbitrationTimeout设置得足够高以允许群集迁移mgm服务
对于mgm节点,禁用配置缓存将使配置更改更容易
--config-cache=FALSE