红联Linux门户
Linux帮助

Mac OS、Ubuntu安装及使用Consul

发布时间:2017-08-23 09:38:44来源:cnblogs.com/xishuai作者:田园里的蟋蟀
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、Ubuntu安装及使用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命令示例:
Mac OS、Ubuntu安装及使用Consul
 
本文永久更新地址:http://www.linuxdiyf.com/linux/32394.html