我目前已启动并运行 mysql 集群。为了实现高可扩展性,有没有办法在不重新启动整个集群的情况下包含 mysql 节点、数据节点或管理节点。我希望了解它是如何实现的,或者是否有我可以阅读的文档。我相信只有最新版本才能支持这一点。我正在运行 NDB 7.0。我知道我可以在线添加节点,但这需要我执行滚动重启。
我可以采取什么其他方法来实现这一点而无需重新启动网络?
答案1
如果您在 config.ini 文件中预定义了 MySQL 服务器插槽,则在实际运行 mysqld 进程时无需滚动重启。如果您未包含空插槽,则在添加它们后需要滚动重启
请注意,滚动重启不会使集群瘫痪 - 它可以继续在添加节点的同时处理读写请求
答案2
正如 Mat 所说,您必须预测集群中将有多少个新数据节点,并避免执行集群滚动重启。当配置文件中有许多 [ndbd] 部分时,您必须更加注意集群安全性。