多eureka server 互相注册失败

来源:3-6 【总结与作业】关于 ad-eureka 的介绍及作业

dengwenjieyear

2019-06-16

老师你好,帮我看看为何这个会不成功呢?

#spring:
#  application:
#    name: demo-eureka
#
#server:
#  port: 8000
#
#eureka:
#  instance:
#    hostname: localhost
#  client:
#    # eureka.client.fetch-registry: 表示是否从 Eureka Server 获取注册信息,默认为true。如果这是一个单点的 Eureka Server,不需要同步其他节点的数据,设为false
#    fetch-registry: false
#    # eureka.client.register-with-eureka: 表示是否将自己注册到 Eureka Server, 默认为true。由于当前应用就是 Eureka Server, 因此设为 false
#    register-with-eureka: false
#    # 设置 Eureka Server 所在的地址,查询服务和注册服务都需要依赖这个地址
#    service-url:
#      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

---
# 配置不同的 Profile, 需要注意, 如果要执行下面的 Profile, 需要将上面的配置注释掉

---
spring:
  application:
    name: demo-eureka
  profiles: server1
server:
  port: 8000
eureka:
  instance:
    hostname: server1
    prefer-ip-address: false
  client:
    service-url:
      defaultZone: http://server2:8001/eureka/,http://server3:8002/eureka/

---
spring:
  application:
    name: demo-eureka
  profiles: server2
server:
  port: 8001
eureka:
  instance:
    hostname: server2
    prefer-ip-address: false
  client:
    service-url:
      defaultZone: http://server1:8000/eureka/,http://server3:8002/eureka/

---
spring:
  application:
    name: demo-eureka
  profiles: server3
server:
  port: 8002
eureka:
  instance:
    hostname: server3
    prefer-ip-address: false
  client:
    service-url:
      defaultZone: http://server1:8000/eureka/,http://server2:8001/eureka/


图片描述

图片描述

写回答

1回答

张勤一

2019-06-16

同学你好:

    当前你的配置文件是没有问题的,相互注册的 Eureka 需要经过这样的几个步骤:

    1. 修改了 application.yml 文件之后,需要重新编译打包(注意 server1、2、3需要修改你本地的 host 文件)

    2. 执行新打好的 jar 包需要指定不同的 profile,命令如下:

java -jar ad-eureka-1.0-SNAPSHOT.jar --spring.profiles.active=server1
java -jar ad-eureka-1.0-SNAPSHOT.jar --spring.profiles.active=server2
java -jar ad-eureka-1.0-SNAPSHOT.jar --spring.profiles.active=server3

    如果还是不成功,又找不到错误原因的话,可以加下 QQ 群,反馈下问题,我来帮助你定位问题。


    欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!

2
2
Helloworld_1995
我遇到类似问题了,调了一下午,发现 静态main方法里SpringApplication.run(EurekaApplication.class, args); 没传args...导致 java -jar ad-eureka-1.0-SNAPSHOT.jar --spring.profiles.active=server1 java -jar ad-eureka-1.0-SNAPSHOT.jar --spring.profiles.active=server2 java -jar ad-eureka-1.0-SNAPSHOT.jar --spring.profiles.active=server3 里--spring.profiles.active无效
2023-03-16
共2条回复

Spring Cloud微服务架构 设计实现广告系统

广告营销系统,未来大中型企业的标配

2150 学习 · 929 问题

查看课程