zoukankan      html  css  js  c++  java
  • centos7上consul的集群安装

    centos7上consul的安装

    一 下载

    下载文件 wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip
    unzip consul_0.6.4_linux_amd64.zip

    拷贝到适当的位置

    查看 consul -v

    如果显示出版本表示没有问题。如果报错请重新下载,或者查看环境变量是否设置正确

    二打开端口

    有8300 8500 8301 如果使用webui 请到官网 下载文件

    三 配置集群 (如果是单机测试 用consul agent -dev就行了配置一台机器就可以了)

    官网上是建议server3个或以上 client不限数量

    此处 server用2个

    服务两台 : s1 192.168.1.81 s2 192.168.1.82

    s1 执行以下命令

    consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n1 -bind=192.168.1.81 -dc=dc1

    s2命令

    consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.1.82 -ui-dir ./dist -dc=dc1

    -server 表示是server模式

    -bootstrap-expect 2 表示是集群中有2台服务器 bootstrap该模式node可以指定自己作为leader ,如果是非leader可不加该参数

    -data-dir /tmp/consul 目录

    -node=n2 该服务器节点名

    -bind=192.168.1.82 节点绑定的ip

    -ui-dir ./dist  非必须 webui的路径 用web来管理consul
    
     -dc=dc1  集群的名称
    

    执行 consul members

    发现集群里并没有其他的服务器

    把服务器加入集群

    s1 上执行

    consul join 192.168.1.82

    如果失败 ,请看是否打开了8301端口

    成功后 再次执行 consul members

    会显示有2个服务器节点

    Node Address Status Type Build Protocol DC

    n1 192.168.1.81:8301 alive server 0.6.4 2 dc1

    n1 192.168.1.82:8301 alive server 0.6.4 2 dc1

    如果你已经熟悉了,可以是用json格式的配置文件来设置

    consul leave 宣布离开集群

    当2个server的时候,退出一个,会没有leader

    当3个以上server的时候 退出一个,会在剩下的server中选出新的leader

    s1 退出后重新加入 执行一下命令

    consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.1.81 -ui-dir ./dist -dc=dc1

    consul join 192.168.1.82

    关于重启后 ,配置丢失的问题

    我们打开n1和n2的/tmp/consul/raft/peers.json,将其内容统一修改为:

    ["192.168.1.81:8300","192.168.1.82:8300"]

    然后重启n2,但加上-rejoin命令:

    $ consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.1.82 -ui-dir ./dist -dc=dc1 -rejoin

    参考文章 http://tonybai.com/2015/07/06/implement-distributed-services-registery-and-discovery-by-consul/

    //查看版本
    consul -v
    
  • 相关阅读:
    iOS委托传值
    关于异步和多线程的关系
    删除xcode中的插件
    iOS Xcode常用插件
    关于ECSlidingViewController的使用
    iOS去掉tableview中无内容的cell
    iOS中block用法之两个界面传值问题
    cocoapods管理第三方类库
    在GitHub托管代码-终端命令
    vsCode快捷键
  • 原文地址:https://www.cnblogs.com/wang2650/p/5473881.html
Copyright © 2011-2022 走看看