【问题标题】:MySQL NDB Cluster nodes with randomly generated hostname/IP具有随机生成的主机名/IP 的 MySQL NDB Cluster 节点
【发布时间】:2019-06-10 14:43:09
【问题描述】:

在过去的两年里,我一直在 Google Compute Engine (GCE) 中测试我们软件的性能,总共使用了 1k 个 vCPU 用于工作虚拟机和我们的 MySQL NDB 集群的虚拟机使用。

我已经在模板和实例组的帮助下自动创建了工作虚拟机(运行我们的软件),但是对于 MySQL NDB 集群,我总是有两台固定机器,我偶尔会手动调整它们的大小(即更改 vCPU和 RAM)。

我现在正在尝试为具有不同数量的 vCPU 和 RAM 的 NDB 集群调出可变数量的 VM,并且我想在我的测试套件中自动执行此过程。 主要问题是 NDB 配置需要在配置中修复 HostNames。 要使用 GCE 模板和实例组,我将能够只调出动态命名的实例,例如 ndb-1ffrd, ndb-i8fhh, ...


举例来说,这是我当前的 ndb 配置(其中之一),涉及固定的 VM ndb1 和 ndb2:

[ndbd]
HostName=ndb1
NodeId=1
NodeGroup=0
[ndbd]
HostName=ndb2
NodeId=2
NodeGroup=0
[ndbd]
HostName=ndb1
NodeId=3
NodeGroup=1
[ndbd]
HostName=ndb2
NodeId=4
NodeGroup=1

我想将固定的虚拟机 ndb1/ndb2 转换为 GCE 实例组,在其中我可以选择启动任意数量的此类实例(通常是 2 或 4 个)进行测试,然后再销毁虚拟机,并且在我的测试期间以自动化方式按需执行此操作。这背后的原因是对不同配置的虚拟机进行可重复的测试。在确定 10 次测试前的确切配置时,在多个测试中手动更改许多参数会导致一场噩梦——这样每个测试都会引用 ndb VM 的特定实例模板。

但是,GCE 实例组成员的名称中有一个随机后缀,并且 NDB 配置需要固定的 HostNames 或 IP。所以我需要:

  • 让 GCE 从以确定性方式命名的实例组(例如 ndb1、ndb2、ndb3...)生成实例,以便我可以在我的 ndb 配置中依赖这些名称,或者
  • 以某种方式允许任意主机(或具有任意后缀的主机)作为 ndb 节点进行连接,但仍确保同一主机不会多次添加到同一 NodeGroup 中——在上述示例配置中手动确保了这一点.

有什么方法可以实现我想要做的事情吗?

【问题讨论】:

    标签: google-compute-engine mysql-cluster


    【解决方案1】:

    我认为这可以通过使用脚本和gcloud SDK 来实现,gcloud 让您可以在 GCP 中启动资源,还有许多选项/标志可能有助于设置您需要的配置。

    希望这会有所帮助。

    【讨论】:

    • 您好 Adad,欢迎来到 StackOverflow。不幸的是,您的回答根本没有帮助。考虑更准确地说明我的目标如何实现。例如,说明哪些选项允许我使用固定/确定的命名方案动态调整实例组的大小。 gcloud compute instance-groups managed create 仅支持 --base-instance-name 选项,无法自定义为实际实例名称生成的随机字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2017-10-17
    • 2014-05-21
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    相关资源
    最近更新 更多