创建rethinkdb集群

Creating rethinkdb cluster

我正在编写一个自动化脚本,该脚本应该在 AWS 中创建 4 个实例并在其上部署 rethinkdb 集群,而无需任何人工交互。根据文档,我需要在命令行上使用 --join 参数或在配置文件中放置 join 语句。但是,我不明白的是,如果我只需要指定一次 join 来创建集群,还是每次重新启动任何集群节点时?

我目前的理解是我只需要发布一次,集群配置以某种方式存储在元数据中,下次我可以在没有 --join 参数的情况下启动 rethinkdb,它将重新连接到其余部分自己集群。但是我什么时候需要配置文件中的 join 选项呢?

如果这是真的,那么我是否需要在我的脚本中使用 --join 选项启动 rethinkdb,然后将其关闭,然后在没有 --join 的情况下重新启动?这是正确的方法还是有更好的选择?

你是对的,在随后的重启中,你不需要从命令行指定--join,它会发现集群并尝试重新连接。部分集群状态存储在系统 table server_config.

即使你清除了这个节点上的数据目录,它仍然可以形成集群,因为其他节点可能有关于该节点的信息,并会尝试连接到它。但是如果没有其他节点存储关于这个特定服务器的信息,或者当这个特定节点由于某种原因重新启动并拥有一个新的 IP 地址时,它的数据目录也被擦除,这一次,集群不知道它(使用新的 IP 地址)。

因此,我将始终指定 --join。它不痛。它有助于在最坏的情况下使新节点能够再次加入集群。