Consul.io - 如何在同一台机器上运行多个服务器

时间:2015-07-31 07:44:32

标签: server consul

这对您来说可能是一个非常基本的问题,但我只是进入领事并且出于测试目的,我想在我的PC上运行多个服务器。例如,我使用

运行第一个服务器
consul agent -server -bootstrap-expect=1 -dc=dev -data-dir=/tmp/consul -ui-dir="c:/consul 0.5.2/dist"

然后我尝试用

运行第二个服务器
consul agent -server -data-dir=/tmp/consul2 -dc=dc2

但它返回

==> Error starting agent: Failed to start Consul server: Failed to start RPC lay
er: listen tcp 0.0.0.0:8300: bind: Only one usage of each socket address (protoc
ol/network address/port) is normally permitted.

我的命令中缺少什么?

2 个答案:

答案 0 :(得分:5)

您正在使用大多数默认值启动两个consul服务器。在这种情况下,问题是您使用默认端口。

当您阅读错误消息时,您会注意到您的第二个consul服务器尝试绑定到端口8300.但是您的第一个服务器已经在使用此端口,导致第二个服务器在启动时失败。 (注意:consul绑定到各种端口,每个端口都有其他用途和默认设置。请查看documentation)。

根据LenW的建议,您可以使用Vagrant来设置您的环境。您可以关注the consul tutorial

如果您不想自己使用vagrant或设置任何虚拟机。您可以更改第二台服务器的默认值。

答案 1 :(得分:1)

如果您尝试在开发机器上模拟生产拓扑,我会考虑将VagrantVirtualBox结合使用来模拟几台机器进行测试。