为了在每台不同的机器上集群主机A(主机),B,C。
要在守护进程中集群3计算机,我执行了以下3个命令
在主持人A上
nohup arangodb --starter.data-dir=/mypath/arangodb/ &
在主持人B上
nohup arangodb --starter.join A(ip adress for A) --starter.data-dir=/mypath/arangodb/ &
在主持人C上
nohup arangodb --starter.join A(ip adress for A) --starter.data-dir=/mypath/arangodb/ &
我有3个协调员(端口:8529),3个数据库服务器(端口:8530)和3个代理(端口:8531),然后成功集群。
我使用java客户端进行基本CRUD集群。
ArangoDB arangoDB = new ArangoDB.Builder().host(hostA, PORT).build();
hostA:A(主人)的主持人,PORT:8529
我对此有疑问!
如果主机A(主服务器)死机,则阻止对主机A的任何请求并拒绝连接。
当主机A死机时,有没有办法在集群中自动重定向到另一个活动节点(在这种情况下为B,C)?
答案 0 :(得分:1)
ArangoDB Java驱动程序支持自版本4.1.10
以来的主机回退。只需为您的每位协调员多次使用host(String, int)
方法。
一旦驱动程序失去与hostA的连接,它就会尝试连接到hostB,依此类推。只有在每个主机都无法访问之后,才会抛出异常。
ArangoDB arangoDB = new ArangoDB.Builder()
.host(hostA, PORTA)
.host(hostB, PORTB)
.host(hostC, PORTC)
.build();