zoukankan      html  css  js  c++  java
  • 搭建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的配置信息和已注册的服务信息。

  • 相关阅读:
    Neko's loop HDU-6444(网络赛1007)
    Parameters
    SETLOCAL
    RD / RMDIR Command
    devenv 命令用法
    Cannot determine the location of the VS Common Tools folder.
    'DEVENV' is not recognized as an internal or external command,
    How to change Visual Studio default environment setting
    error signing assembly unknown error
    What is the Xcopy Command?:
  • 原文地址:https://www.cnblogs.com/eric-z/p/6109960.html
Copyright © 2011-2022 走看看