linux安装consul集群

一、集群规划

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

原文地址:https://www.cnblogs.com/northeastTycoon/p/10462187.html

时间: 2024-08-30 14:14:19

linux安装consul集群的相关文章

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.下载并解压Consul文件,拷贝到/usr/local/bin目录下 [[email protected] ~]# wget https://releases.hashicorp.com/consul/0.8.1/consul_0.8.1_linux_amd64.zip?_ga=2.37003621

Linux安装redis集群

linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的ruby脚本.redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下(redis-xxx/src/).是基于redis提供的集群命令封装成简单.便捷.实用的操作工具.redis-trib.rb是redis作者用ruby完成的.所以redis集群需要先安

Linux安装zookeeper集群

测试在Linux虚拟机:node02.node03.node04装入zookeeper集群 1.下载zookeeper.地址:http://archive.apache.org/dist/zookeeper/ 拷贝下载zookeeper放入Linux机器中,我这里放入在software目录下. 解压:zookeeper到指定目录tar  -xf  zookeeper-3.4.6.tar.gz  /opt/ht 配置zookeeper的环境变量:vi  /etc/profile 进入zookeep

kafka linux下的集群安装

第一步.kafka 集群安装环境准备 环境:CentOS6.5 集群环境: 192.168.139.130 master 192.168.139.131 node1 192.168.139.132 node2 zookeeper 版本:zookeeper-3.3.6.tar.gz kafka 版本:kafka_2.11-0.9.0.0.tar.gz 第二步.安装zoookeeper集群 注意kafka有自己自带的zookeeper,我这里没用kafka自带的zookeeper集群,而是自己安装的

Docker 容器部署 Consul 集群

一.docker安装与启动1.1安装docker[[email protected] /]# yum -y install docker-io 1.2更改配置文件[[email protected] /]# vi /etc/sysconfig/dockerother-args列更改为:other_args="--exec-driver=lxc --selinux-enabled" 1.3启动docker服务[[email protected] /]# service docker st

Consul入门04 - Consul集群

Part 1:转载自:https://segmentfault.com/a/1190000005040904 我们已经启动了我们的第一个代理并且在这个代理上注册和查询了服务.这些显示了使用Consul是多么的容易但是并没有展示Consul的可扩展性以及可用于产品级别的服务发现的基础设施.在本篇向导中,我们将建立我们第一个多成员的真实的集群. 当一个Consul代理启动后,它对任何其他的节点都一无所知:它是个单独的隔离集群.为了让它感知其他的集群成员,代理必须加入一个现有的集群中去.为了加入一个现

8分钟学会Consul集群搭建及微服务概念

原文:8分钟学会Consul集群搭建及微服务概念 Consul介绍: Consul 是由 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value 存储.多数据中心方案,不再需要依赖其他工具(比如 ZooKeeper 等),使用起来也较为简单. Consul的如何实现的? Consul 用 Golang 实现,因此具有天然可移植性(支

Docker容器之Compose编排、consul集群、template模板

docker compose容器编排 (1)docker compose的前身Fig,它是一个定义及运行多个docker容器的工具(2)使用docker compose不再需要使用shell脚本启动容器(3)docker compose非常适合组合使用多个容器进行开发的场景 YAML是一种标记语言很直观的数据序列化格式 文件格式及编写注意事项: 不支持制表符tab键缩进,需要使用空格缩进 通常开头缩进2个空格 字符后缩进1个空格,如冒号,逗号,横杆 用井号注释 如果包含特殊字符用单引号引起来 布

服务发现之美:Consul集群搭建

近几年随着Docker容器技术.微服务等架构的兴起,人们开始意识到服务发现的必要性.微服务架构简单来说,是一种以一些微服务来替代开发单个大而全应用的方法, 每一个小服务运行在自己的进程里,并以轻量级的机制来通信, 通常是 HTTP RESTful API.微服务强调小快灵, 任何一个相对独立的功能服务不再是一个模块, 而是一个独立的服务.那么,当我们需要访问这个服务时,如何确定它的地址呢?这时就需要服务发现了. Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发