zoukankan      html  css  js  c++  java
  • Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录):

    Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStack 等相比,Consul 的方案更“一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等)。使用起来也较 为简单。Consul 用 Golang 实现,因此具有天然可移植性(支持 Linux、windows 和 Mac OS X);安装包仅包含一个可执行文件,方便部署,与 Docker 等轻量级容器可无缝配合。

    Consul 功能:

    • 服务发现(Service Discovery):客户端通过 Consul 提供服务,其他客户端可以通过 Consul 利用 dns 或者 http 发现依赖服务
    • 健康检查(Health Checking): Consul 提供任务的健康检查,可以用来操作或者监控集群的健康,也可以在服务发现时去除失效的服务
    • 键值对存储(Key/Value Store): 存储层级键值对
    • 多数据中心(Multi Datacenter): Consul 支持开箱即用的多数据中心

    架构图:


    Mac OS 安装(使用 homebrew):

    $ brew install consul
    

    Ubuntu 安装:

    $ wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_linux_amd64.zip
    $ sudo apt-get install unzip
    
    $ ls
    
    $ unzip consul_0.7.2_linux_amd64.zip
    $ sudo mv consul /usr/local/bin/consul
    
    $ wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_web_ui.zip
    $ unzip consul_0.7.2_web_ui.zip
    $ mkdir -p /usr/share/consul
    $ mv dist /usr/share/consul/ui
    

    Consul 压缩包地址:https://www.consul.io/downloads.html

    验证安装是否成功:

    $ consul
    usage: consul [--version] [--help] <command> [<args>]
    
    Available commands are:
        agent          Runs a Consul agent
        event          Fire a new event
        exec           Executes a command on Consul nodes
        force-leave    Forces a member of the cluster to enter the "left" state
        info           Provides debugging information for operators
        join           Tell Consul agent to join cluster
        keygen         Generates a new encryption key
        leave          Gracefully leaves the Consul cluster and shuts down
        members        Lists the members of a Consul cluster
        monitor        Stream logs from a Consul agent
        reload         Triggers the agent to reload configuration files
        version        Prints the Consul version
        watch          Watch for changes in Consul
    

    配置 Consul(官方资料):

    $ consul agent -dev
    $ consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -ui  -config-dir /etc/consul.d -bind=192.168.1.100
    $ consul agent -data-dir /tmp/consul -node=ubuntu64 -bind=10.9.10.176
    

    上面三种配置说明:

    1. Sever 模式,快捷配置,一般用于调试模式,不建议使用
    2. Sever 模式
    3. Client 模式

    配置参数说明:

    • -server:- Serve 模式(不配置为 Client 模式),数量一般为 3-5 个
    • -bootstrap-expect: - Server 数量
    • -data-dir: - 数据目录
    • -ui-dir: - UI目录
    • -node: - Node名称
    • -bind: - 集群通讯地址

    Server 模式后台访问地址:http://localhost:8500

    其他命令:

    • consul members:查看集群成员
    • consul info:查看当前服务器的状况
    • consul leave:退出当前服务集群
    • ctrl + c:停止服务

    consul members命令示例:

    Node                Address            Status  Type    Build  Protocol  DC
    server1.consul.com  200.21.1.101:8301  alive   server  0.5.2  2         dc1
    agent1.consul.com   200.21.1.201:8301  alive   client  0.5.2  2         dc1
    agent2.consul.com   200.21.1.202:8301  alive   client  0.5.2  2         dc1
    server2.consul.com  200.21.1.102:8301  alive   server  0.5.2  2         dc1
    server3.consul.com  200.21.1.103:8301  alive   server  0.5.2  2         dc1
    agent3.consul.com   200.21.1.203:8301  alive   client  0.5.2  2         dc1
    

    参考资料:

  • 相关阅读:
    虚拟机centOs和主机ssh互连
    centos7 利用yum安装mysql8.0
    MySQL触发器trigger的使用
    VMware虚拟机优化
    VM tools的安装
    CentOS下tar包和rpm包的区别
    如何解决VMware-vmx.exe无法彻底删除的问题
    JVM结构及堆的划分
    MYSQL: set names utf8是什么意思?
    collate utf8_bin和uft-8_general_ci是什么意思?
  • 原文地址:https://www.cnblogs.com/xishuai/p/macos-ubuntu-install-consul.html
Copyright © 2011-2022 走看看