consul集群部署三server一client

环境:
consul:consul_1.16.2_linux_amd64.zip centos7.9
server:192.168.50.154 192.168.50.155 192.168.50.156
client:192.168.70.64

安装目录:

[root@rabbit4-64 consul]# pwd
/app/consul
[root@rabbit4-64 consul]# ls
consul  consul_1.16.2_linux_amd64.zip  consul.json  data
[root@rabbit4-64 consul]# 

192.168.70.64 client

[root@rabbit4-64 consul]# cat consul.json 
{"datacenter": "ybjdc1","data_dir": "/app/consul/data","log_level": "INFO","node_name": "","server": false,"ui": true,"bootstrap_expect": 0,"bind_addr": "192.168.70.64","client_addr": "192.168.70.64","retry_join": ["192.168.50.154","192.168.50.155","192.168.50.156"],"retry_interval": "3s","raft_protocol": 3,"enable_debug": false,"rejoin_after_leave": true,"enable_syslog": false
}

192.168.50.154 server

[root@first-1 consul]# cat consul.json 
{"datacenter": "ybjdc1","data_dir": "/app/consul/data","log_level": "INFO","node_name": "","server": true,"ui": true,"bootstrap_expect": 2,"bind_addr": "192.168.50.154","client_addr": "192.168.50.154","advertise_addr": "192.168.50.154","retry_join": ["192.168.50.155","192.168.50.156"],"retry_interval": "3s","raft_protocol": 3,"enable_debug": false,"rejoin_after_leave": true,"enable_syslog": false
}

192.168.50.155 server

[root@second-2 consul]# cat consul.json 
{"datacenter": "ybjdc1","data_dir": "/app/consul/data","log_level": "INFO","node_name": "","server": true,"ui": true,"bootstrap_expect": 2,"bind_addr": "192.168.50.155","client_addr": "192.168.50.155","advertise_addr": "192.168.50.155","retry_join": ["192.168.50.154","192.168.50.156"],"retry_interval": "3s","raft_protocol": 3,"enable_debug": false,"rejoin_after_leave": true,"enable_syslog": false
}

192.168.50.156 server

[root@three-3 consul]# cat consul.json 
{"datacenter": "ybjdc1","data_dir": "/app/consul/data","log_level": "INFO","node_name": "","server": true,"ui": true,"bootstrap_expect": 2,"bind_addr": "192.168.50.156","client_addr": "192.168.50.156","advertise_addr": "192.168.50.156","retry_join": ["192.168.50.154","192.168.50.155"],"retry_interval": "3s","raft_protocol": 3,"enable_debug": false,"rejoin_after_leave": true,"enable_syslog": false
}

做成服务:

[root@rabbit4-64 consul]# cat /etc/systemd/system/consul.service 
[Unit]
Description=Consul agent server
Documentation=https://www.consul.io/
Requires=network-online.target
After=network-online.target
[Service]
EnvironmentFile=-/etc/sysconfig/consul
Environment=GOMAXPROCS=4
Restart=on-failure
#User=consul
LimitNOFILE=65536
ExecStart=/app/consul/consul agent -config-file /app/consul/consul.json
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target

访问测试:http://192.168.50.154:8500/ui/ybjdc1/services/consul/instances
在这里插入图片描述

启动注意点:
可以先使用/app/consul/consul agent -config-file /app/consul/consul.json命令启动,会出现以下错误,但是当全部启动后,就没有出现connect: connection refused的情况了

2024-03-26T11:26:03.758+0800 [ERROR] agent.server.raft: failed to appendEntries to: peer="{Voter 31e197d0-480a-018f-392c-9a81fce11f98 192.168.50.155:8300}" error=EOF
2024-03-26T11:26:03.821+0800 [ERROR] agent.server.raft: failed to appendEntries to: peer="{Voter 31e197d0-480a-018f-392c-9a81fce11f98 192.168.50.155:8300}" error="dial tcp 192.168.50.154:0->192.168.50.155:8300: connect: connection refused"
2024-03-26T11:26:03.888+0800 [ERROR] agent.server.raft: failed to appendEntries to: peer="{Voter 31e197d0-480a-018f-392c-9a81fce11f98 192.168.50.155:8300}" error="dial tcp 192.168.50.154:0->192.168.50.155:8300: connect: connection refused"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/577453.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux-进程控制

🌎进程控制【上】 文章目录: 进程控制 为什么要有地址空间和页表 程序的内存       程序申请内存使用问题 写时拷贝与缺页中断 父子进程代码共享       为什么需要写时拷贝       页表的权限位       缺页中断 退出码和错误码…

内源 npm 无法同步官方 npm 解法

内源的 NPM 通常通过 npm config set registry http://内网 全局配置了内源 NPM,采用 T1 进行官方 NPM 的缓存同步。 但可能会存在没有 sync 机制的场景,当依赖的一个外部包发了新版本是无法立即消费的。 可以采用以下方式修正。 1. scope 限制 regis…

2024年第十届国际虚拟现实大会(ICVR 2024)即将召开!

会议面向虚拟现实、增强现实、人工智能等互联网新技术领域的专家及学者, 致力于共同促进国内外虚拟现实的发展与应用。 2014年至今,ICVR在全球新加坡,美国洛杉矶,中国成都,香港等国家及地区召开,面向虚拟现…

【项目技术介绍篇】若依开源项目RuoYi-Cloud后端技术介绍

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

用友BI告诉你,分析指标计算也可以很简单

分析数据,特别是分析财务数据,要计算得分析指标都非常多,涉及的数据来源也是各有不同,一旦哪个环节出了错就一切都得重来。难道分析指标的计算就没有更快更简单的办法了?奥威-用友BI告诉你,分析指标计算有别…

项目模块—实现抑郁测评(小程序)

script <script setup> import { ref } from "vue";//控制轮播图页码 let current ref(0);//答题逻辑 const add (value) > {if (current.value < 9) {current.value current.value 1;} else {uni.switchTab({url: "/pages/my/my",});} }…

学习【Redis实战篇】这一篇就够了

目录 1. 短信登录1-1. 技术点redis存储token拦截器刷新token有效期 1-2. 业务登录注册 2. 商户查询缓存1-1. 技术点缓存更新策略缓存穿透缓存雪崩缓存击穿 1-2. 业务查询缓存的商铺信息 3. 优惠卷秒杀3-1. 技术点全局唯一ID乐观锁基于Redis实现分布式锁基于Redisson实现分布式锁…

JSes6语法和Json快速入门

对象操作 对象的crud 创建对象&#xff1a;let obj{} 新增属性&#xff1a;ojb.a1 修改属性&#xff1a;ojb.a2 查询属性&#xff1a;obj.a 删除属性&#xff1a;delete obj.a 其他操作 obj[a]1 Object.assign() //深拷贝&#xff1f;浅拷贝 let{ name} user &#x…

常用类(日期时间)

目录 一、JDK 8之前的日期时间API1.1、System类中获取时间戳的方法1.2、Java中两个Date类的使用1.3、SimpleDateFormat的使用1.4、Calendar日历类的使用 二、JDK8中日期时间API的介绍2.1、LocalDate、LocalTime、LocalDateTime的使用2.2、Instant类的使用2.3、DateTimeFormatte…

数据结构——lesson11排序之快速排序

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

数据结构刷题篇 之 【力扣二叉树基础OJ】详细讲解(含每道题链接及递归图解)

有没有一起拼用银行卡的&#xff0c;取钱的时候我用&#xff0c;存钱的时候你用 1、相同的树 难度等级&#xff1a;⭐ 直达链接&#xff1a;相同的树 2、单值二叉树 难度等级&#xff1a;⭐ 直达链接&#xff1a;单值二叉树 3、对称二叉树 难度等级&#xff1a;⭐⭐ 直达…

原来这就是线程安全(一)

TOC 一:什么是线程不安全?? 先看一段代码: public class Demo1 {public static int count 0;public static void main(String[] args) throws InterruptedException {Thread t1new Thread(()->{for (int i 0; i < 50000; i) {count;}});Thread t2new Thread(()-&g…