启动及常用配置项
解压后,在目录下打开cmd
窗口,运行
consul agent -dev -ui -node=nodeName
-data-dir
- 作用:指定agent储存状态的数据目录
- 这是所有agent都必须的
- 对于server尤其重要,因为他们必须持久化集群的状态
-config-dir
- 作用:指定service的配置文件和检查定义所在的位置
- 通常会指定为”某一个路径/consul.d”(通常情况下,.d表示一系列配置文件存放的目录)
-config-file
- 作用:指定一个要装载的配置文件
- 该选项可以配置多次,进而配置多个配置文件(后边的会合并前边的,相同的值覆盖)
-dev
- 作用:创建一个开发环境下的server节点
- 该参数配置下,不会有任何持久化操作,即不会有任何数据写入到磁盘
- 这种模式不能用于生产环境(因为第二条)
-node
- 作用:指定节点在集群中的名称
- 该名称在集群中必须是唯一的(默认采用机器的
host
) - 推荐:直接采用机器的IP
-bind
- 作用:指明节点的IP地址
- 有时候不指定绑定IP,会报
Failed to get advertise address: Multiple private IPs found. Please configure one.
的异常
-server
- 作用:指定节点为
server
- 每个数据中心(
DC
)的server数推荐至少为1,至多为5 - 所有的server都采用raft一致性算法来确保事务的一致性和线性化,事务修改了集群的状态,且集群的状态保存在每一台server上保证可用性
- server也是与其他DC交互的门面(gateway)
-bootstrap-expect
- 作用:该命令通知consul server我们现在准备加入的server节点个数,该参数是为了延迟日志复制的启动直到我们指定数量的server节点成功的加入后启动。
-join
- 作用:将节点加入到集群
-datacenter(老版本叫-dc,-dc已经失效)
- 作用:指定机器加入到哪一个数据中心中
-client
- 作用:指定节点为
client
,指定客户端接口的绑定地址,包括:HTTP、DNS、RPC
- 默认是
127.0.0.1
,只允许回环接口访问 - 若不指定为
-server
,其实就是-client