我已经在两个站点中部署了两个站点环境,每个站点中的voltdb的三个节点集群的Ksafe = 1。群集配置有XCDR复制。 我已经执行了故障转移测试,已经关闭了集群节点之一的虚拟机),显然日志没有引发任何错误,但是当我尝试通过该集群的两个活动节点中的“ sqlcmd”进行连接时我收到以下错误:
$ sqlcmd
org.voltdb.client.ProcCallException: Server is shutting down.
at org.voltdb.client.ClientImpl.internalSyncCallProcedure(ClientImpl.java:481)
at org.voltdb.client.ClientImpl.callProcedureWithClientTimeout(ClientImpl.java:320)
at org.voltdb.client.ClientImpl.callProcedure(ClientImpl.java:256)
at org.voltdb.utils.SQLCommand.loadStoredProcedures(SQLCommand.java:1253)
at org.voltdb.utils.SQLCommand.mainWithReturnCode(SQLCommand.java:1567)
at org.voltdb.utils.SQLCommand.main(SQLCommand.java:1626)
SQL Command :: localhost:21212
1>
1> select count(*) from table1;
Server is shutting down
有人知道为什么Ksafety = 1 Voltdb抛出此异常吗?
谢谢
答案 0 :(得分:0)
VoltDB在这里。如果您有3个节点的Kfactor = 1集群,请关闭一台VM服务器,因此一个节点不应导致整个集群关闭。
像这样以慢速关闭的事实表明某种排放过程(例如dr_overflow,因为您正在使用XDCR)。我们通常会在手动关闭而不是崩溃时看到这些耗时较长的过程。
我们必须查看日志才能确定发生了什么。如果您是客户,则可以将日志文件发送电子邮件至support@voltdb.com。如果没有,您可以发送电子邮件至sales@voltdb.com。