Eureka集群搭建,unavailable-replicas服务节点不可用解決方案
最近由于项目需要搭建了eureka集群,集群搭建完成后,发现服务节点均在unavailable-replicas下,即说明集群搭建失败,各节点之间不能互相通信,网上查找了各种资料,终于解决,现将问题处理的过程记录如下:
一般出现该问题均是由于配置文件没有写对:
1.检查各节点的spring.application.name
配置是否一致
2.eureka.instance.hostname
需要配置对应的主机名,eureka
服务默认的注册方式是通过主机名进行注册的
3.是否开启了自注册与相互注册,即以下两项均要配置为true
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
4.eureka.client.service-url.defaultZone需要按照以下的格式进行配置
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
都配置完成后,进入控制台管理页面,发现replicas内容都是空的
查看各节点的日志发现报错:
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
通过多次尝试,对比分析,发现在eureka集群配置的过程中,如果是在同一主机上配置多个节点,则各节点的eureka.instance.hostname(实例的主机名)不能一样,否则在各节点相互注册的过程中会产生报错。(因为eureka是通过主机名进行服务注册与识别的,相同的主机名会引起冲突)
而我是直接通过hostname命令找到主机名,为所有节点配置了一样的主机名,所以集群搭建一直没有成功。
【解决办法】
配置的时候,eureka.instance.hostname=peer1(peer2,peer3,…),为各节点配置不同的hostname,然后修改主机的hosts文件,增加映射。
修改后的配置文件如下:
再次进入控制台管理页面,各服务节点均在available-replicas下,集群搭建成功
Eureka集群搭建,unavailable-replicas服务节点不可用解決方案相关推荐
- Eureka 集群搭建
一.Eureka 高可用集群 在实际的生产环境中,eureka 常常是以集群的方式提供服务的,目的就是要保证高可用性,同时它还保证了分区容错性.这也满足了一个健壮的分布式系统所要求的 CAP 理论原则 ...
- 疯狂Spring Cloud连载(5)Eureka集群搭建
2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<疯狂Spring Cloud微服务架构实战> 京东购买地址:https://item.jd.com/1 ...
- Eureka集群搭建
Eureka集群搭建 配置映射 修改hosts对Eureka节点进行区分,因为我这里是单机模拟集群,实际情况这三个节点应该放在不同机器上. 127.0.0.1 eureka1.com 127.0.0. ...
- SpringCloud--Eureka服务注册与发现 Eureka 集群搭建 详细案例!!!
SpringCloud组件--Eureka 完整笔记 一.Eureka基础知识 1.1.什么是服务治理 ? 1.2. 什么是服务注册与发现? 1.3.Eureka两组件:Eureka Server和E ...
- SpringCloud(三)Eureka之集群搭建以及将服务注册到多个EurekaServer
概述:为了保证EurekaServer的高可用,可以采用服务集群方式.当有一台挂掉时,其他节点仍可以继续提供服务.在EurekaServer的集群配置中,他们为分别配置对方为自己的注册中心,并将自己节 ...
- 《SpringCloud超级入门》使用Eureka集群搭建《十三》
前面我们搭建的注册中心只适合本地开发使用,在生产环境中必须搭建一个集群来保证高可用.Eureka 的集群搭建方法很简单:每一台 Eureka 只需要在配置中指定另外多个 Eureka 的地址就可以实现 ...
- hbase集群搭建,hbase单个节点重启
1.1 hbase集群结构 REGION:是HBASE中对表进行切割的单元 HMASTER: HBASE的主节点,负责整个集群的状态感知,负载分配.负责用户表的元数据管理 (可以配置多个用来实现HA) ...
- 8分钟学会Consul集群搭建及微服务概念
Consul介绍: Consul 是由 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul 的方案更"一站式" ...
- spring eureka集群+spring boot 微服务,容器化部署示例
一.docker安装 这里先采用在线安装,利用docker hup下载基础镜像 1.环境版本要求 内核版本3.10及其以上 操作系统位数为64位 CPU架构为x86_64或amd64(目前也有别的支持 ...
最新文章
- 受用一生的高效 PyCharm 使用技巧(六)
- ABP Zero示例项目问题总结
- 004_列表list操作
- Visual Studio 2005 Beta2 简体中文版发布
- 普211标准三维EE零基础转CS申
- 多个asp.net程序共用Session(sso程序的外设接口)
- 在DockerHub发布Dubbo Admin镜像
- 北京、深圳 | 百度视觉算法研发实习生 人脸活体方向
- c++读取文件夹下特定文件
- Django JWT认证实现
- Android 车联网天气
- javascript 笔记--变量
- 【HBZ】生产环境下如何解决CPU飙高 与排查CPU飙高问题 与如何解决内存泄漏
- 把握本质规律——《数学之美》作者吴军接受《程序员》采访
- 以图搜图(基于 Milvus 和 VGG 实现以图搜图)
- 计算机网络通信同步异步效率,同步传输和异步传输的区别及优缺点
- @RunWith的作用
- 【docker问题】Client.Timeout exceeded while awaiting header
- 邮箱发送附件 附件大小有限制
- 利用Web查询文件(.iqy)有效钓鱼
热门文章
- 钉钉、支付宝合种树,2-4天领证,限量9个名额
- R语言ggplot2可视化分组的重叠图实战:grouped overlay plot
- pandas使用query函数删除dataframe中两个数据列加和小于某一特定值的数据行(removing rows based on multiple dataframe column value
- pandas使用date_range函数按照指定的频率(freq)和指定的个数(periods)生成dataframe的时间格式数据列
- R语言关系操作符:>、<=、!=、>=、==、
- python计算时间差
- eclipse opengl java_OpenGL 之 Eclipse 开发环境搭建 | 学步园
- apollo热布署mysql_docker部署apollo详细教程
- 第三代测序之Pacific Biosciences
- 多媒体计算机系统是能进行获取,第六章 7 多媒体计算机系统.pdf