一、集群规划

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. How to simplify a PHP code with the help of the façade pattern?

    原文:https://phpenthusiast.com/blog/simplify-your-php-code-with-facade-class ------------------------- ...

  2. 高仿手机QQ音乐之——Android带进度条的开关

    最新版的手机QQ音乐体验确实不错,发现首页播放按钮能够显示歌曲当前进度条.认为挺有新意.效果例如以下: 自己琢磨了下.能够用自己定义组件来实现,试着做了一下.效果例如以下: 整理了下思路.大概设计流程 ...

  3. java集合框架小结

    总结例如以下: 1.假设要求线程安全的, 使用Vector.Hashtable 2.假设不要求线程安全,应该使用ArrayList.LinkedList.HashMap 3.假设要求有映射关系,键值对 ...

  4. Android原生下拉刷新SwipeRefreshLayout实践

    本篇文章翻译自Ravi Tamada的Android Swipe Down to Refresh ListView Tutorial 首先来看一下效果图 你应该发现很多的android app比如Tw ...

  5. 每日一个机器学习算法——LR(逻辑回归)

    本系列文章用于汇集知识点,查漏补缺,面试找工作之用.数学公式较多,解释较少. 1.假设 2.sigmoid函数: 3.假设的含义: 4.性质: 5.找一个凸损失函数 6.可由最大似然估计推导出 单个样 ...

  6. js中数组的splice()方法

    在数组中splice方法有增.删.该的多功能用处. var list = []; list.push(1); list.push(2); list.push(3); console.log(list) ...

  7. Android中Scrollview、ViewPager冲突问题汇总(已解决)

    显示问题: 1.设置ScrollView的fillViewPort为true 2.设置ViewPager的layout_height为一个固定高度,比如:100dip 冲突问题: 不过ViewPage ...

  8. cadence原理图和PCB互联显示成功但是不能高亮和database

    问题现象:cadence原理图和PCB互联显示成功但是不能高亮我的问题 解决:尝试修复数据库试试,Tools->Database check 提醒:有一个封装非法命名,在原理图中修改后 再次保存 ...

  9. stm32 IDR寄存器软件仿真的BUG

    /* * 函数名:Key_GPIO_Config * 描述 :配置按键用到的I/O口 * 输入 :无 * 输出 :无 */ void Key_GPIO_Config(void) { GPIO_Init ...

  10. linux下 目录(扩容)挂载磁盘

    1.常用命令 查看硬盘的分区 #sudo fdisk -l 查看IDE硬盘信息 #sudo hdparm -i /dev/hda 查看STAT硬盘信息 #sudo hdparm -I /dev/sda ...