6

这对您来说可能是一个非常基本的问题,但我刚刚进入领事并出于测试目的,我想在我的 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.

我的命令中缺少什么?

4

2 回答 2

5

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

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

正如 LenW 所建议的,您可以使用 Vagrant 来设置您的环境。你可以按照领事教程

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

于 2015-08-01T11:35:15.543 回答
1

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

于 2015-07-31T07:58:25.273 回答