2015-11-10 57 views
1

我已经在Google Cloud的虚拟机上安装了arangodb实例(tcp://10.240.0.2)。我将安装一个不对称的集群,并在其中安装了arangodb(tcp://10.240.0.3)。ArangoDB - 不对称集群不起作用

我按照官方指导来配置生产情况:1名协调员和1个DBSERVER在同一台机器上

我想也是第二配置有两个虚拟机实例集群,但它不工作,这显示错误在GoogleChromeConsole:

{"error":true,"code":500,"errorNum":500, 
"errorMessage":"Cannot check port on dispatcher tcp://10.240.0.3:8529"} 

Here you can find the configurations that I have tried

可能是什么错误?

PS:我在防火墙开放的端口:8529,8530,8629

在此先感谢。

丹尼尔

回答

2

你有两个虚拟机安装ArangoDB,改变了配置(两个)设置

[cluster] 
    disable-dispatcher-kickstarter = false 
    disable-dispatcher-frontend = false 

,然后重新启动数据库服务器?我假设是这样,因为你得到两个服务器的“连接正常”。然后,您的浏览器会与第一个调度员通话,而第一个调度员则会与第二个调度员联系。您收到的错误消息表明,后面的这一步不起作用,因为检查端口是第一个调度员发送给第二个调度员的第一个请求。

第一个VM中的进程可能无法在第二个VM上访问tcp://10.240.0.3:8529吗?也许相应的其他子网不从虚拟机内部路由?另外,当你有这个工作时,你肯定也会在第一个虚拟机上需要4001端口,因为那是我们的etcd(代理)会监听的地方。另外,端口8530和8629是首先尝试的默认值。如果由于某种原因它们不可用,则调度程序将使用后续端口号将其分配给协调器和DBservers。在这种情况下,您也必须至少从相应的其他VM中打开这些。

+0

是的,我安装了arangodb启用前端和kickstarter。 虚拟机可以相互通信,因为端口在它们之间打开。我也尝试从VM1连接到arangosh到VM2,它的工作原理。 –

+0

我还检查了arangodb的代码,发现第一个VM1无法获得VM2的http://10.240.0.3:8529/_admin/clusterCheckPort?port = 8529'的这个URL。我试着用wget,我看到403错误(禁止)。这可能是问题吗? –

+0

再次看看您发送的截图,我得出的结论是您没有在第二个调度程序的输入字段中输入用户名和密码。因此你会在两个调度员之间发生认证问题。它说“连接正常”是显示器中的一个错误。我假设,如果你也有用户名和密码,你应该可以启动一个集群。 –