• 搭建consul 集群


    1.   准备工作

      a)      启动三台虚拟机

        s1:10.1.7.141

        s2:10.1.7.139

        s3:10.1.7.138

      b)      每台机器上在 /home新建文件夹    

    mkdir /home/consul
    
    mkdir /home/consul/data
    

      c)      下载consul,并将其考入到/home/consul中

        下载地址:https://www.consul.io/downloads.html

    2.   启动server agent

      a)      进入consul目录中

    cd /home/consul 
    

      b)      执行:

    ./consul agent -server -bootstrap-expect 2 -data-dir=data -node=n1 -bind=10.1.7.141 &
    

         注:

                     i.  server: 以server身份启动。

                    ii.  bootstrap-expect:集群要求的最少server数量,当低于这个数量,集群即失效。

                   iii.  data-dir:data存放的目录,更多信息请参阅consul数据同步机制

                   iv.  node:节点id,在同一集群不能重复。

                    v.  bind:监听的ip地址。

                   vi.  &:在后台运行,此为linux脚本语法

                  vii.  更多参数及配置说明见consul官方说明文档。

      c)      修改node和bind信息,分别在另外两台机器中执行。

      d)      在s2、s3中分别执行:

    ./consul join 10.1.7.141
    

      e)     到这里整个consul server 集群就算完成了,可以利用consul members查看集群中包含的node信息。

      f)      使用consul info命令可以查看当前节点状态,包括是否在集群中,是否为leader(主)。

    3.   注册服务

      已redis为例

      a)      启动新的虚拟机

        s4:10.1.7.142

      b)     启动redis服务(这里不在赘述)

      c)      新建文件夹/home/consul/config,在这个文件中放置consul的配置信息。

    mkdir /home/consul/config
    

      d)     编写redis注册及健康检查方法,每一个服务都写成一个文件,文件格式为:.json

    vi /home/consul/config/redis.json
    

      e)     Redis的注册与检查脚本:

    {
      "services": [        #服务数组,这里只写一个redis服务,建议一个服务写一个文件
        {
          "id": "redis/node1",  #服务ID
          "name": "redis ",     #服务名称,在发现服务时可以用该名称找到所有服务提供者
          "tags": [],
          "address": "10.17. 142", #服务的IP,这里配置的是本机的内网地址
          "port": 6379,    #服务端口,redis配置的端口为6379
          "checks": [
            {
           #检测redis存活的脚本,consul也提供http命令来检测服务的健康状态
              "script": "redis-cli -h 127.0.0.1 -p 6379 info | grep role:master || exit 2",
           #检测频率,这里定义的是5秒
              "interval": "5s"
            }
          ]
        }
        ]
    }

      f)      启动consul 代理

    ./consul agent  -data-dir data -node=n4 -bind=10.1.7.142  -config-file=/home/consul/config
    

      g)     加入到集群中

    ./consul join 10.1.7.142
    

          

    4.   搭建管理工具

      a)      下载consul web ui,和本机中的consul放到同级目录。

      b)     在本机启动consul

    consul agent -node=local1abc -bind=10.1.7.167  -ui-dir=web_ui
    

      c)      加入到集群中

    consul join 10.1.7.142
    

      d)     打开浏览器,数据地址http://127.0.0.1:8500。即可看到consul的配置信息和已注册的服务信息。

  • 相关阅读:
    SpringBoot(三)——使用Thymeleaf模板
    “Usage of API documented as @since 1.8+”报错的解决办法
    JAVA的多态性
    SQL的JOIN语句
    共享锁和排他锁
    软件工程团队作业---项目选题报告
    结对作业
    PMS---团队展示
    第二次作业——个人项目实战
    第一次作业---准备
  • 原文地址:https://www.cnblogs.com/eric-z/p/6109960.html
Copyright © 2020-2023  润新知