前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Consul安装和初步使用

Consul安装和初步使用

作者头像
AsiaYe
发布2019-11-06 14:39:37
1.2K0
发布2019-11-06 14:39:37
举报
文章被收录于专栏:DBA随笔DBA随笔
Consul安装和初步使用

一、安装方式

Linux64位系统直接运行下列命令:

wget https://releases.hashicorp.com/consul/1.2.3/consul_1.2.3_linux_amd64.zipunzip consul_1.2.3_linux_amd64.zipsudo mv consul /usr/bin

如果上述安装方式出现了consul not be found的错误,说明环境变量PATH没有配置正确,请返回检查consul安装路径是否包含在PATH中。

运行consul之前,首先介绍下consul的启动参数,consul agent 命令的常用选项,如下:

1.-data-dir

a.作用:指定agent储存状态的数据目录

b.这是所有agent都必须的

c.对于server尤其重要,因为他们必须持久化集群的状态

2.-config-dir

a.作用:指定service的配置文件和检查定义所在的位置

b.通常会指定为”某一个路径/consul.d”(通常情况下,.d表示一系列配置文件存放的目录)

3.-config-file

a.作用:指定一个要装载的配置文件

b.该选项可以配置多次,进而配置多个配置文件(后边的会合并前边的,相同的

值覆盖)

4.-dev

a.作用:创建一个开发环境下的server节点

b.该参数配置下,不会有任何持久化操作,即不会有任何数据写入到磁盘

c.这种模式不能用于生产环境(因为第二条)

5.-bootstrap-expect

a.作用:该命令通知consul server我们现在准备加入的server节点个数,该参

b.是为了延迟日志复制的启动直到我们指定数量的server节点成功的加入后

启动。

6.-node

a.作用:指定节点在集群中的名称

b.该名称在集群中必须是唯一的(默认采用机器的host)

c.推荐:直接采用机器的IP

7.-bind

a.作用:指明节点的IP地址

b.有时候不指定绑定IP,会报Failed to get advertise address: Multiple private IPs found. Please configure one. 的异常

8.-server

a.作用:指定节点为server

b.每个数据中心(DC)的server数推荐至少为1,至多为5

c.所有的server都采用raft一致性算法来确保事务的一致性和线性化,事务修

改了集群的状态,且集群的状态保存在每一台server上保证可用性

d.server也是与其他DC交互的门(gateway)

9.-client

a.作用:指定节点为client,指定客户端接口的绑定地址,包括:HTTP、DNS、RPC

b.默认是127.0.0.1,只允许回环接口访问

c.若不指定为-server,其实就是-client

10.-join

a.作用:将节点加入到集群

11.-datacenter(老版本叫-dc,-dc已经失效)

a.作用:指定机器加入到哪一个数据中心中

二、功能试运行

启动agent

consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=s1 -bind=10.0.2.15 -ui-dir ./consul_ui/ -rejoin -client 0.0.0.0

运行后输出如下结果:

查看成员:

consul members

三、注册服务

注册两个 Mysql 服务的实例, 数据中心在 sz-1, 端口都是 3306. 具体为以下命令:

curl -X PUT -d '{"Datacenter": "dc1", "Node": "c2", "Address": "10.0.2.15", "Service": {"Service": "Linux1", "tags": ["yeyz", "Linux"], "Port": 22}}' http://127.0.0.1:8500/v1/catalog/registercurl -X PUT -d '{"Datacenter": "dc1", "Node": "c1", "Address": "10.0.2.15", "Service": {"Service": "Linux2", "tags": ["yeyz", "Linux"], "Port": 22}}' http://127.0.0.1:8500/v1/catalog/register

查看服务节点并使用json格式化输出

curl 127.0.0.1:8500/v1/catalog/service/Linux1|python -m json.tool

使用DNS协议查看节点信息:

dig @127.0.0.1 -p 8600 Linux1.node.consul

后续将更深一步的对Consul进行调研,然后给出MHA+Cousul的高可用方案

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档