一、集群规划

consul借助agent来运行,类似elk的logstash agent 或 zabbix监控系统的agent ,

每个需要被发现的服务上,通过consul agent client 来收集服务本身的信息,然后向consul agent server汇报, consul server 可以集群部署。

规划一下:

序号 

节点ip

节点名称

角色

1

193.168.30.207

server-207

server

2

193.168.30.208

server-208

server

3

193.168.30.209

server-209

server & web ui

这是按正式生产环境来规划的,如果本机开发,有一个方便的dev模式(后面再讲)。 上述表格中,我们打算组建3个server节点的consul server cluster,另外有1个client,模拟客户端以及充当consul的web admin ui(管理界面)。

二、下载安装

1、本例以1.2.0为例下载地址:

wget https://releases.hashicorp.com/consul/1.2.0/consul_1.2.0_linux_amd64.zip

2、下载文件后解压到:opt/soft/consul下,如果没有建立相关目录

解压后目录为:

3、查询版本

一、启动服务

3.1 启动server端

基本的命令为:

第一个节点(207机器启动方式如下)

nohup ./consul agent -server -bind=193.168.30.207 -client=0.0.0.0 -bootstrap-expect=2 -data-dir=/home/tycoon/consul/data -node=server-207 >/dev/null 2>&1

第二个节点

nohup ./consul agent -server -bind=193.168.30.208 -client=0.0.0.0 -bootstrap-expect=2 -data-dir=/home/tycoon/consul/data -node=server-208 >/dev/null 2>&1

第三个节点

nohup ./consul agent -server  -bind=193.168.30.209 -client=0.0.0.0 -bootstrap-expect=2 -data-dir=/home/tycoon/consul/data -node=client-209 -ui  >/dev/null 2>&1 &

(第三个与前两个服务有点区别就是添加了一个 ui,既可以查看管理服务)

3.2 参数说明

-server 表示是以服务端身份启动

-bind 表示绑定到哪个ip(有些服务器会绑定多块网卡,可以通过bind参数强制指定绑定的ip)

-client 指定客户端访问的ip(consul有丰富的api接口,这里的客户端指浏览器或调用方),0.0.0.0表示不限客户端ip

-bootstrap-expect=3 表示server集群最低节点数为3,低于这个值将工作不正常(注:类似zookeeper一样,通常集群数为奇数,方便选举,consul采用的是raft算法)

-data-dir 表示指定数据的存放目录(该目录必须存在)

-node 表示节点在web ui中显示的名称

3.3 组建cluster

现在我们有了3个server node 其中一个node同时也为web node,3个节点都是相互独立的.

3.4 在任何一个节点运行下:

consul members,Consul info  可查看相关信息,既然如下:

3.5 集群加入

(1)例如207做主节点,其他两个上加入集群运行:consul join 193.168.30.207即可

(2)成功会输出:

3.6 从集群中撤出

在撤出节点上执行:consul leave

3.7 web ui

启动成功后,终端窗口不要关闭,可以在浏览器里,访问下,类似 http://193.168.30.209:8500/,正常的话,应该会会出现以下截图:

3.8 查看集群状态

3.9 禁止重新连接

consul force-leave

linux安装consul集群的更多相关文章

  1. Docker安装Consul集群

    Docker 安装Consul集群 使用windows 环境,Docker desktop community 构建consul集群. 1.docker 容器网络 docker安装后,默认会创建三种网 ...

  2. Spark学习笔记--Linux安装Spark集群详解

    本文主要讲解如何在Linux环境下安装Spark集群,安装之前我们需要Linux已经安装了JDK和Scala,因为Spark集群依赖这些.下面就如何安装Spark进行讲解说明. 一.安装环境 操作系统 ...

  3. CentOS7安装Consul集群

    1.准备4台服务器 linux1 192.168.56.101 linux2 192.168.56.102 linux3 192.168.56.103 linux4 192.168.56.104 2. ...

  4. Linux中Consul集群部署

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

  5. LINUX安装REDIS集群

    linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的rub ...

  6. Linux安装fastdfs集群部署

    过程问题: make: gcc:命令未找到 解决: yum -y install gcc 一.环境和版本: Linux环境:CentOS 7.6 libfastcommon版本:1.0.39 Fast ...

  7. linux 安装 zookeeper 集群

    关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.servicesystemctl status firewalld ...

  8. Linux 安装Zookeeper<集群版>(使用Mac远程访问)

    阅读本文需要先阅读安装Zookeeper<准备> 一 架构细节 zookeeper集群根据投票选举的机制 选出leader和follower zookeeper集群节点建议是奇数 这里我准 ...

  9. Linux 安装Redis<集群版>(使用Mac远程访问)

    阅读本文需要先阅读安装Redis<准备> 一 架构细节 所有的redis节点彼此互联(PING-PONG机制) 内部使用二进制协议优化传输速度和带宽 节点的fail是通过集群中超过半数的节 ...

随机推荐

  1. win7上搭建ruby开发环境

    1. 安装ruby 可使用windows下的ruby安装工具rubyinstaller来方便地安装ruby解释器,可以http://rubyinstaller.org/网站上下载得到.安装时,看清安装 ...

  2. jquery ajax/post 请求 案例

    @RequestMapping("/hello")    @ResponseBody    public Hello getJson(HttpServletRequest requ ...

  3. zStack学习笔记(原创,绝对不是抄的……)

    我之前写的文章都没写上面那句,但是这篇写了,主要是因为zStack文章抄袭太严重……故此声明 因为涉及到数据的双向交互问题,所以在这里我考虑使用协议栈来实现数据的收发.首先说下如何在Zstack中添加 ...

  4. lodash _.size

    返回collection(集合)的长度,如果集合是类数组或字符串,返回其 length :如果集合是对象,返回其可枚举属性的个数. _.size([1, 2, 3]); // => 3 _.si ...

  5. iOS:一个Cell中设置另外一个Cell中的button

    场景: 子类化Cell中有button,拥有选中式样,点击第一个Cell中的button后,Cell一中的button获得选中式样.可是当点击Cell二中的button时.Cell一中的button选 ...

  6. Python 解码 Unicode 转义字符串 (转)

    其实,这里要讨论的内容是针对 Python2 的,实际上也是 Python2 中让人头疼的编码问题,而 Python3 则好处理得多. 先来看看例子: >>> s = "我 ...

  7. MySql(零):Linux(CentOS7)下安装和配置MySQL5.7.20(安装包安装)

    一.下载安装包 1.在官网下载MySQL5.7安装包 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz. 下载地址:https://dev.mysql.com/do ...

  8. NGINX扩展

    https://github.com/cuber/ngx_http_google_filter_module

  9. gulpfile.js(编译sass,压缩图片,自动刷新浏览器)

    var gulp = require('gulp'),     sass = require('gulp-sass'),     watch = require('gulp-watch'),      ...

  10. iOS开发之多文件上传

    // //  ViewController.m //  B03-多文件上传 // //  Created by 0426iOS on 15/7/1. //  Copyright (c) 2015年 0 ...