美文网首页
consul 安装及设置

consul 安装及设置

作者: 蜡笔广志 | 来源:发表于2019-06-14 14:56 被阅读0次

最近准备给公司的同事培训下spring cloud相关的业务,因此写下这篇手记,也方便自己记忆。

首先,关于spring cloud最基础的就是它的服务注册发现组建,主流的包括zookeeper,eureka和consul.

其中,由于eureka已经停止更新,zookeeper相对支持性较差,因此我选用了consul,版本是1.4.4

consul安装

从consul官网https://www.consul.io/downloads.html

1、解压consul_1.4.4_darwin_amd64.zip

2、将解压后的二进制文件consul(上边画红框的部分拷贝到/usr/local/bin下)

3、赋予执行权限

consul agent 命令的常用选项,如下:

  • -data-dir

  • 作用:指定agent储存状态的数据目录

  • 这是所有agent都必须的

  • 对于server尤其重要,因为他们必须持久化集群的状态

  • -config-dir

  • 作用:指定service的配置文件和检查定义所在的位置

  • 通常会指定为”某一个路径/consul.d”(通常情况下,.d表示一系列配置文件存放的目录)

  • -config-file

  • 作用:指定一个要装载的配置文件

  • 该选项可以配置多次,进而配置多个配置文件(后边的会合并前边的,相同的值覆盖)

  • -dev

  • 作用:创建一个开发环境下的server节点

  • 该参数配置下,不会有任何持久化操作,即不会有任何数据写入到磁盘

  • 这种模式不能用于生产环境(因为第二条)

  • -bootstrap-expect

  • 作用:该命令通知consul server我们现在准备加入的server节点个数,该参数是为了延迟日志复制的启动直到我们指定数量的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)

  • -client

  • 作用:指定节点为client,指定客户端接口的绑定地址,包括:HTTP、DNS、RPC

  • 默认是127.0.0.1,只允许回环接口访问

  • 若不指定为-server,其实就是-client

  • -join

  • 作用:将节点加入到集群

  • -datacenter(老版本叫-dc,-dc已经失效)

  • 作用:指定机器加入到哪一个数据中心中

启动命令

我们这里使用的是推荐的3台机器的集群模式,一主二从,具体命令如下

105 主

106 107辅助

consul agent -data-dir /tmp/node0 -node=node0 -bind=x.x.x.105 -datacenter=dc -ui -client=0.0.0.0 -server -bootstrap-expect 2

consul agent -data-dir /opt/data -node=node1 -bind=x.x.x.106 -datacenter=dc -ui -client=0.0.0.0 -join=x.x.x.105 -server -bootstrap-expect 2

consul agent -data-dir /opt/data -node=node2 -bind=x.x.x.107 -datacenter=dc -ui -client=0.0.0.0 -join=x.x.x.105 -server -bootstrap-expect 2

命令说明:

agent :启动agent

-data-dir 设置数据存放地点为:/tmp/node0

-node=node0 设置节点

-bind=x.x.x.10 设置绑定的服务器地址,一般为本机

-datacenter=dc 设置数据中心

-ui 可通过8500进行访问

-client=0.0.0.0 任何机器都可注册

-server 作为服务端启动

-bootstrap-expect 2 集群最小2台

-join=x.x.x.105 加入已有集群

QQ图片20190614145626.png

启动后如图所示,consul启动了3个实例

相关文章

网友评论

      本文标题:consul 安装及设置

      本文链接:https://www.haomeiwen.com/subject/dvxpfctx.html