consul 安装和高可用配置

consul 类似于eureka的注册中心(单独的服务)

1.根据需要下载consul(1.0和0.9的版本风格上有些差异)
也可以用命令行直接安装(这里安装的是最新的版本)

brew install consul

2.下载完解压并将二进制文件consul拷贝到bin目录下

sudo scp consul /usr/local/bin/

3.测试consul是否安装成功
如果出现command的相关介绍表示安装成功

consul

4.启动consul(# -dev表示开发模式运行,另外还有-server表示服务模式运行)

consul agent -dev

说明:
-dev(该节点的启动不能用于生产环境,因为该模式下不会持久化任何状态),
该启动模式仅仅是为了快速便捷的启动单节点consul
该节点处于server模式
该节点是leader
该节点是一个健康节点

相关命令:
常用的命令为启动agent,agent下的详细命令可以用consul agent –help查询

  1. -data-dir
    指定agent储存状态的数据目录,对于server尤其重要,因为他们必须持久化集群的状态

  2. -config-dir
    指定service的配置文件和检查定义所在的位置,通常会指定为”某一个路径/consul.d”

  3. -config-file
    指定一个要装载的配置文件,该选项可以配置多次,进而配置多个配置文件(
    后边的会合并前边的,相同的值覆盖)

  4. -bootstrap-expect
    作用:该命令通知consul server我们现在准备加入的server节点个数,该参数是为了延迟日志复制的启动直到我们指定数量的server节点成功的加入后启动。

  5. -node
    a. 作用:指定节点在集群中的名称
    b. 该名称在集群中必须是唯一的(默认采用机器的host)
    c. 推荐:直接采用机器的IP

  6. -bind
    a. 作用:指明节点的IP地址
    b. 有时候不指定绑定IP,会报Failed to get advertise address: Multiple private IPs found. Please configure one. 的异常

  7. -server
    a. 作用:指定节点为server
    b. 每个数据中心(DC)的server数推荐至少为1,至多为5
    c. 所有的server都采用raft一致性算法来确保事务的一致性和线性化,事务修改了集群的状态,且集群的状态保存在每一台server上保证可用性
    d. server也是与其他DC交互的门面(gateway)
  8. -client
    a. 作用:指定节点为client,指定客户端接口的绑定地址,包括:HTTP、DNS、RPC
    b. 默认是127.0.0.1,只允许回环接口访问
    c. 若不指定为-server,其实就是-client

  9. -join
    a. 作用:将节点加入到集群

  10. -datacenter(老版本叫-dc,-dc已经失效)
    a. 作用:指定机器加入到哪一个数据中心中

5.集群搭建
启动node0机器上的Consul(node0机器上执行):

consul agent -data-dir /tmp/node0 -node=node0 -bind=192.168.11.143 -datacenter=dc1 -ui -client=192.168.11.143 -server -bootstrap-expect 1

启动node1机器上的Consul(node1机器上执行):

consul agent -data-dir /tmp/node1 -node=node1 -bind=192.168.11.144 -datacenter=dc1 -ui

启动node2机器上的Consul(node2机器上执行):

consul agent -data-dir /tmp/node2 -node=node2 -bind=192.168.11.145 -datacenter=dc1 -ui -client=192.168.11.145

将node1节点加入到node0上(node1机器上执行):

consul join 192.168.11.143

将node2节点加入到node0上(node2机器上执行):

consul join -rpc-addr=192.168.11.145:8400  192.168.11.143

这样一个简单的Consul集群就搭建完成了,在node1上查看当前集群节点:

consul members -rpc-addr=192.168.11.143:8400

参考文档:
1.Consul官方文档:https://www.consul.io/intro/getting-started/install.html
2.CSDN文章:https://blog.csdn.net/u010046908/article/details/61916389

猜你喜欢

转载自blog.csdn.net/u010694922/article/details/81703681
今日推荐