2012-08-13 92 views
1

我正在设置64位Debian Linux上的MySQL集群(版本7.2.4)。该集群有两个管理/ SQL节点和两个数据节点。每个服务器都有/var/lib/mysql-cluster/config.ini如下:无法在MySQL集群上设置IndexMemory和DataMemory

[NDBD DEFAULT] 
NoOfReplicas=2 
DataDir=/var/lib/mysql-cluster 
DataMemory=256M 
IndexMemory=64M 

[MYSQLD DEFAULT] 

[NDB_MGMD DEFAULT] 

[TCP DEFAULT] 

# Management node 1 
[NDB_MGMD] 
NodeId=1 
HostName=192.168.25.10 
DataDir=/var/lib/mysql-cluster 

# Management node 2 
[NDB_MGMD] 
NodeId=2 
HostName=192.168.25.11 
DataDir=/var/lib/mysql-cluster 

# Storage node 1 
[NDBD] 
NodeId=3 
HostName=192.168.25.12 

# Storage node 2 
[NDBD] 
NodeId=4 
HostName=192.168.25.13 

[MYSQLD] 
NodeId=5 
HostName=192.168.25.10 

[MYSQLD] 
NodeId=6 
HostName=192.168.25.11 

[MYSQLD] 
[MYSQLD] 

的文档和我自己对谷歌的研究使我相信,这将数据存储设置为256 MB索引内存为64 MB。然而,当群集正在使用该配置开始,这些设置将不被执行:

mysql> SELECT node_id, memory_type, total FROM ndbinfo.memoryusage; 
+---------+--------------+----------+ 
| node_id | memory_type | total | 
+---------+--------------+----------+ 
|  3 | Data memory | 83886080 | 
|  3 | Index memory | 19136512 | 
|  4 | Data memory | 83886080 | 
|  4 | Index memory | 19136512 | 
+---------+--------------+----------+ 
4 rows in set (0.03 sec) 

对于每个节点,将数据存储器是80 MB和索引存储器是18 MB,它们是根据默认值MySQL簇文档。

我已经尝试了一些小的调整,例如将[NDBD DEFAULT]更改为[ndbd default],但没有任何工作。有谁知道我为什么不能更改这两个设置?

一如既往,任何帮助将不胜感激。谢谢!

+0

好问题。你有没有找到解决方案?即使在使用-reload和-initial重新启动管理器后,我也遇到完全相同的问题。 – paiego 2014-02-23 20:27:28

+1

我相信我确实解决了这个问题,但我真的不记得如何。在我发布这个消息后不久,我们发生了严重的服务器故障,并花了几天时间从中恢复,所以我从来没有像我想要的那样记录MySQL Cluster。尝试下面Bernd的评论中的建议修复。如果有效,我会将该答案标记为已接受。 – Dave 2014-02-24 14:59:34

+0

感谢Dave的回应。在意识到这些是数据节点而不是SQL节点度量标准后,我立即得到了这个结果。对于我的情况,我删除了其中一个数据节点,并增加了其余部分的内存,然后用--initial标志重新启动了NDBD,当这些参数改变时需要这个标志。 – paiego 2014-02-24 19:39:31

回答

1

当使用新配置启动两个管理服务器时:是否使用--reload重新启动管理节点以实际从配置文件加载新配置?如果未使用--reload,则将使用先前有效配置的缓存版本。为了使数据节点获得配置,还必须重新启动它们。

Bernd