摘自:http://www.itpub.net/thread-1845295-1-1.html
官方网站上说参数NoOfReplicas的值表示数据的备份份数,例如:NoOfReplicas=2,若在其中一个sql节点某张表中插入数据,则这份数据会在另外一个数据节点上保存一份,即有2份完全一样得数据存在于集群中的2个数据节点中,但是现在却出现了一个情况让我很困惑,我把参数NoOfReplicas的值配置成1,然后往其中一个节点插入数据,这时候在同一个节点组里另外一个节点上也出现了这样一份数据,这到底是怎么回事啊?配置成1和2都会有2份完全一样得数据存在于集群中,是不是不管这个参数配置成多少,当往其中一个节点插入数据时,只要是和该节点同属于一个节点组的节点上,都会有这样一份数据存在?
我的理解是这个参数是控制数据份数的,如果是2 表有两份数据,如果是1表示只有一份数据。 MySql Cluster 中没有参数设计节点组数。 节点组数=节点数/NoOfReplicas。
所以你如果总共有两个数据节点,如果NoOfReplicas设为2,那么意味着只有一个节点组。如果NoOfReplicas=1,那么就有两个节点组,即有一份备份。
在这种情况下,当NoOfReplicas=2时,你可以试验一下如果一个data node 停掉了,cluster 可以照常工作; 如果NoOfReplicas=1, 一个data node 停掉了,cluster 就会自动停掉。
官网上也是这样说的,但是我现在遇到一个怪异的问题,我把NoOfReplicas参数设置成1,我有2个数据节点,按照计算公式应该有2个节点组,可是我通过管理节点查看的时候,却仍然只有一个节点组,真是没招了!
ndb_mgmd 启动需要初始化--initial