2

我在 4 个数据节点和 4 个 sql 节点上使用 mysql ndbcluster,最近我需要在不停机的情况下再添加 4 个 sql 节点。在 Mysql Manual 中,我找到了在线添加数据节点的指南,但我找不到任何 sql 节点。

http://dev.mysql.com/doc/mysql-cluster-excerpt/5.1/en/mysql-cluster-online-add-node.html

你有这方面的指南吗?

谢谢。

4

2 回答 2

3

添加额外的 MySQL 服务器非常简单。

假设您已经为 config.ini 文件中的每个部分 [mysqld] 或 [api] 部分运行了一个 mysqld 进程,为您需要添加的每个新 MySQL 服务器添加一个额外部分(您可能希望包含一个几个备件)。

要应用更新的 configi.ini 文件,请停止每个 ndb_mgmd 进程,然后使用 --initial 选项重新启动它们(否则它们将使用配置数据的缓存副本而不是更新的 config.ini 文件)。

管理节点再次运行后,重新启动每个数据节点:

  • 等待每个数据节点恢复服务后再重启下一个(这样每个节点组中始终有一个数据节点可用,因此服务不会中断)
  • 不要使用--initial选项启动它们,否则您将清除数据

一旦所有数据节点再次运行,只需启动新的 mysqld 实例。

如果您使用 MySQL 集群管理器(从edelivery.oracle.com下载),那就更简单了

安德鲁。

于 2012-07-10T12:04:51.603 回答
0

如果您在 config.ini 中没有此新 SQL 节点的部分,则可以执行以下操作:

  1. 在 config.ini 文件中为新的 SQL 节点添加一个部分。
  2. 使用 --initialize 或 --reload 选项重新启动管理节点进程。
  3. 对数据节点和当前 SQL 节点执行滚动重启,但不要启动新的 SQL 节点。
  4. 在集群中每个数据库的datadir下的新SQL节点中创建一个目录,并为mysql用户分配正确的权限。
  5. 最后,启动新的 SQL 节点。

如果该新 SQL 节点的 config.ini 文件中已有一个部分并且反映在集群中,则可以跳过 1:3 的步骤并从步骤 4 开始。

于 2016-10-27T22:03:45.350 回答