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的配置信息和已注册的服务信息。

搭建consul 集群的更多相关文章

  1. 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现

    庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介      在第七篇文章<庐山真面目之七微服务架构Consul ...

  2. vagrant+docker搭建consul集群开发环境

    HashiCorp 公司推出的Consul是一款分布式高可用服务治理与服务配置的工具.关于其配置与使用可以参考这篇文章 consul 简介与配置说明. 一般,我们会在多台主机上安装并启动 consul ...

  3. 搭建 consul 集群

    =============================consul 命令行工具=============================consul 支持 Windows/Linux 等多种平台, ...

  4. Docker学习-Docker搭建Consul集群

    1.环境准备 Linux机器三台 网络互通配置可以参考 https://www.cnblogs.com/woxpp/p/11858257.html 192.168.50.21 192.168.50.2 ...

  5. CentOS7 搭建 Consul 集群

    环境准备: ssh shell工具: 远程连接 三个CentOS示例: 部署集群 配置好各个实例之间的网络访问,以及ssh免密登录. 下载&上传: 1.下载 Consul: Download ...

  6. docker上搭建consul集群全流程

    consul简介: consul是提供服务发现.简单配置管理.分区部署的服务注册发现解决方案.主要特性:服务发现\健康检查\基于Key-Value的配置\支持TLS安全通讯\支持多数据中心部署 con ...

  7. 使用Docker搭建consul集群+registrator实现服务自动注册。

    准备工作:10.173.16.83 master10.172.178.76 node110.171.19.139 node210.162.204.252 node3 一.安装consul-cluste ...

  8. 微服务之:从零搭建ocelot网关和consul集群

    介绍 微服务中有关键的几项技术,其中网关和服务服务发现,服务注册相辅相成. 首先解释几个本次教程中需要的术语 网关 Gateway(API GW / API 网关),顾名思义,是企业 IT 在系统边界 ...

  9. Linux中Consul集群部署

    分配三台虚拟机: 192.168.5.125 192.168.5.128 192.168.5.129 在每台虚拟机上创建  /usr/consul 文件件  命令: mkdir /usr/consul ...

随机推荐

  1. 杂项之图像处理pillow

    杂项之图像处理pillow 本节内容 参考文献 生成验证码源码 一些小例子 1. 参考文献 http://pillow-cn.readthedocs.io/zh_CN/latest/ pillow中文 ...

  2. CentOS 7.0系统安装配置步骤详解

    CentOS 7.0系统是一个很新的版本哦,很多朋友都不知道CentOS 7.0系统是怎么去安装配置的哦,因为centos7.0与以前版本是有很大的改进哦. 说明: 截止目前CentOS 7.x最新版 ...

  3. 编写轻量ajax组件02-AjaxPro浅析

    前言 上一篇介绍了在webform平台实现ajax的一些方式,并且实现一个基类.这一篇我们来看一个开源的组件:ajaxpro.虽然这是一个比较老的组件,不过实现思想和源码还是值得我们学习的.通过上一篇 ...

  4. Webwork 学习之路【08】结合实战简析Controller 配置

    虽然现在 MVC 框架层出不穷,但做为 Struts 前身的 webwork. 其经典程度不亚于贝利之于足球,双 11 之于淘宝特卖. 本篇将结合 webwork controller 配置文件 xw ...

  5. csv表格处理(上)-- JS 与 PHP 协作导入导出

    CSV简介 在开发后台管理系统的时候,几乎无可避免的会遇到需要导入导出Excel表格的需求.csv也是表格的一种,其中文名为“逗号分隔符文件”.在Excel中打开如下图左边所示,在记事本打开如下图右边 ...

  6. Stack的三种含义

    作者: 阮一峰 日期: 2013年11月29日 学习编程的时候,经常会看到stack这个词,它的中文名字叫做"栈". 理解这个概念,对于理解程序的运行至关重要.容易混淆的是,这个词 ...

  7. oracle 修改字符集支持中文

    1.登录sys关闭服务 [oracle@t-e ~]$ export ORACLE_SID=kamiltest1 [oracle@t-e ~]$ sqlplus / as sysdba SQL> ...

  8. tensorflow中的基本概念

    本文是在阅读官方文档后的一些个人理解. 官方文档地址:https://www.tensorflow.org/versions/r0.12/get_started/basic_usage.html#ba ...

  9. Mysql 修改字段默认值

    环境:MySQL 5.7.13 问题描述:建表的时候,users_info表的role_id字段没有默认值,后期发现注册的时候,需要提供给用户一个默认角色,也就是给role_id字段一个默认值. 当前 ...

  10. UVA1225

    每增加1个整数,所有位上的对应数都加一.建立一个10000列10行的表,然后查表就可以了. #include<stdio.h> #include<string.h> ][]; ...