微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在运行的tarantool实例上覆盖配置

如何解决在运行的tarantool实例上覆盖配置

任何人都可以在课程中告诉我,可以在正在运行的实例上覆盖各个Box.cfg的参数。例如,添加一个副本,几天来我一直在尝试通过docker服务堆栈在三个主机上部署三个副本。 当我举起双手在每台服务器上时,一切正常,通过部署,它们不会互相看到并掉落。我尝试了各种方式。将端点挂在目标节点上的端点,如果有请求,它将给出容器所在的机器的IP,如果该IP与SEED中指示的那些IP之一匹配,则替换容器的内部IP(否则它将无法连接本身)。 从理论上讲,这一切都如我所描述的那样工作,但是有人怀疑一切都没有太大不同,我想问题是在声明Box.cfg之前实例没有保留地址。 las,我不能进入容器,因为它不能升起。我的想法是,如果所有三个节点都被声明为最低设置,并且一旦它们开始侦听子网,则一旦该节点找到另一个,它将把它写入复制并覆盖Box.cfg。请纠正我,谁有经验。

解决方法

某些box.cfg参数是动态的。例如,box.cfg{listen=}。您可以根据需要从Lua代码中设置此代码。对于您的情况,如果容器稍后获得其IP地址,则只需在listen中指定端口。这样,Tarantool将侦听所有可能的接口。

replication_source有点棘手。您可以动态设置它,但是您对box.cfg的第一个(初始化)调用应该与replication_source一起使用。这是因为所有没有此参数初始化的实例都将创建自己的副本集,并且将无法将它们连接到另一个副本集。

您可以在此处了解有关Tarantool复制体系结构的更多信息:https://www.tarantool.io/en/doc/latest/book/replication/repl_architecture/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。