2016-07-10 47 views
0

我有5台服务器。在我的第一个 “主” 我在配置:rethinkdb集群,如果某些服务器关闭,该怎么办?

join=ip2:port 
join=ip3:port 
join=ip4:port 
join=ip5:port 

我连接到通过代理rethinkdb:

proxy --join ip1:port --join ip2:port 

当我停止rethinkdb上IP1一切都停止。我不知道如何解决这个问题。 Rethinkdb文档不完整。我必须在每个配置中定义这个连接吗?

更新 实际上,当我停止群集中的任何服务器时,我的应用程序崩溃!我在webui中得到类似于“Table db.table可用于过时的读取,但不是最新的读取或写入”。

除了表格碎片我没有看到点。

回答

0

是的,您通常希望每个节点都知道每个其他节点的地址,以便它们可以在任何节点子集关闭的情况下互相连接。

+0

是的好我不确定这一点。你怎么知道的?我已经停止了我的ip2服务器,它说,“表是可用于过时只读”,当然应用程序不工作! – pregmatch

+0

有两个独立的东西:一个是您的服务器需要能够互相访问,另一个是您需要能够访问主分区以便执行写入操作或最新的读取操作。如果您的问题是您的服务器无法访问对方,则可以通过向每个配置添加正确的连接线来解决该问题。如果您的问题是分片的主服务器永久不可用,那么可能是自动故障切换不起作用。您可以通过https://rethinkdb.com/docs/failover/阅读,但要点是您至少需要3个副本。 – mlucy

相关问题