【SpringCloud】2019-01-13 Linux系统下安装consul

【SpringCloud】2019-01-13 Linux系统下安装consul

文章目录

  • 【SpringCloud】2019-01-13 Linux系统下安装consul

    1. 下载consul安装包:选择与自己系统匹配的安装包
      1. 解压
        1`
        consul_1.4.0_linux_arm64.zip
        1`
      1. 校验consul是否安装成功
      1. 绑定linux ip地址启动
      1. Consul命令拓展:
      1. consul 集群搭建(未尝试过,至少需要三台Linux系统)

1. 下载consul安装包:选择与自己系统匹配的安装包

consul官网下载地址

我选择的是:Linux-arm64 consul_1.4.0_linux_arm64.zip

2. 解压 consul_1.4.0_linux_arm64.zip

1 2# cd /home/consul 3consul_1.4.0_linux_arm64.zip 4 5# unzip consul_1.4.0_linux_arm64.zip 6 7# cp consul /usr/local/bin 8 9 10

3. 校验consul是否安装成功

1#consul --verison 2 3 4

4. 绑定linux ip地址启动

1 2#consul agent -dev -ui -node=consul-dev -client=192.168.0.102 3 4
  1. 验证 consul 是否启动成功

注意:启动consul命令中必须加 -ui 才能验证, 10.39.45.56 是linuxIP地址

访问:http://10.39.45.56:8500/ui

  1. 关闭 consul 服务

1#consul leave -rpc-addr=192.168.0.102:8500 2 3

5. Consul命令拓展:

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已经失效)

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

使用-client 参数可指定允许客户端使用什么ip去访问。
例如-client 192.168.11.143 表示可以使用http://192.168.11.143:8500/ui 去访问。

6. consul 集群搭建(未尝试过,至少需要三台Linux系统)

  1. 192.168.1.155 (启动的是consul和consul_ui)

注意: 启动命令后面的 $,这是后台运行

1#consul agent -ui-dir /usr/local/consul_ui/ -server -bootstrap-expect 3 -data-dir /usr/local/consul/ -bind=192.168.1.155 -node=server01 -client 0.0.0.0 & 2 3
  1. 192.168.1.156 (启动的是consul)

1#consul agent -server -bootstrap-expect 3 -data-dir /usr/local/consul/ -bind=192.168.1.156 -node=server02 & 2 3
  1. 192.168.1.157 (启动的是consul)

1#consul agent -server -bootstrap-expect 3 -data-dir /usr/local/consul/ -bind=192.168.1.157 -node=server03 & 2 3
  1. 加入集群

在 192.168.1.157 中 :

1#consul join 192.168.1.155 192.168.1.156 2 3
  1. 验证:http://192.168.1.155:8500/ui/ 可以看到集群的状态

参考博客:

consul 集群搭建
consul 简介、安装、常用命令的使用
linux consul部署安装(一)

如果觉得对你有用,帮忙点个赞呗!!!

代码交流 2021