我一直在尝试间歇性地成功将我的 ndb_backups 恢复到新集群。
我们有一个包含 3 个 API 节点的 6 个 NDB 节点集群。当我运行 ndb_restore 时,通常前 2 或 3 个节点备份会毫无问题地被拉入。但是第 4 和第 5 个节点失败并出现以下错误:
Temporary error: 266: Time-out in NDB, probably caused by deadlock
Temporary error: 266: Time-out in NDB, probably caused by deadlock
Retried transaction 10 times.
Last error266: Time-out in NDB, probably caused by deadlock
...Unable to recover from errors. Exiting...
奇怪的是,有时我可以简单地重新运行所有 6 个备份并成功完成。
我希望有人知道我可以对我的配置进行什么样的调整来优化这个过程。这是我的版本号和配置:
mysql-5.6.22 ndb-7.3.8
我的mgm配置文件:
######################
#MGM CONFIG
######################
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=8144M # How much memory to allocate for data storage
IndexMemory=8144M # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example Cluster setup.
[ndb_mgmd]
# Management process options:
hostname=192.168.207.133 # Hostname or IP address of MGM node
NodeId=1
[ndb_mgmd]
# Management process options:
hostname=192.168.207.45 # Hostname or IP address of MGM node
NodeId=2
[ndbd]
# Options for data node "A":
hostname=192.168.207.135 # Hostname or IP address
NodeId=3
[ndbd]
# Options for data node "B":
hostname=192.168.207.171 # Hostname or IP address
NodeId=4
[ndbd]
# Options for data node "C":
hostname=192.168.207.174 # Hostname or IP address
NodeId=5
[ndbd]
# Options for data node "D":
hostname=192.168.207.27 # Hostname or IP address
NodeId=6
[ndbd]
# Options for data node "E":
hostname=192.168.207.169 # Hostname or IP address
NodeId=7
[ndbd]
# Options for data node "F":
hostname=192.168.207.178 # Hostname or IP address
NodeId=8
[mysqld]
hostname=192.168.207.177
NodeId=10
[mysqld]
hostname=192.168.207.35
NodeId=11
[mysqld]
hostname=192.168.207.148
NodeId=12
我的 mysqld 和 ndb 节点配置
######################
#API AND NDB CONFIG
######################
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.207.133,192.168.207.45 # location of management server
真的希望有人能帮忙。我已经在这一个月了。我们非常广泛地使用数据 blob,我知道这可能会导致这些超时,但我很想知道为什么 6 节点还原有时会成功,有时不会,以及如何确保还原每次都是成功的。
我非常愿意尝试并重新发布。我是 mysql 集群的新手,在过去的几个月里学到了很多东西,但我渴望了解更多。
提前致谢,GT