eureka server启动后,端口号默认变为8080,没有读取yml文件

(1)启动服务后端口号默认为8080,没有读取yml文件配置的端口号?

   验证是否yml文件是否有问题

        把下面配置放在yml文件最前面,启动服务看是否服务还是默认的端口号,如果不是,说明yml文件可以读取到,是其他地方的问题。否则,可能写的yml文件有问题,需要检查yml文件的格式是否正确

      server:
        port: 7901

   

(2)Eureka集群高可用,报错如下

 com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

原因:

因为本地设置了多个server端(如peer1,peer2),而instance.hostname是唯一标识 ,此时需要配一下本地的host文件

cmd里敲notepad "%systemroot%/system32/drivers/etc/hosts" 回车

eureka server启动后,端口号默认变为8080,没有读取yml文件_第1张图片

在idea中多次启动同一个项目,启动设置修改,每个高可用的端口都要配置一个启动项,-Dserver.port=7901,--spring.profiles.active=peer2

eureka server启动后,端口号默认变为8080,没有读取yml文件_第2张图片

 

在启动过程中会报错,可以不用管。(注意如果运行非最后一个server端时,服务会启动成功但是还是报错,是因为他注册的某个服务还未启动导致,可以不用管,等所有服务都注册成功后,服务会自动注册成功的)

endpoint=DefaultEndpoint{ serviceUrl='http://peer2:7901/eureka/}

 

附Eureka高可用yml:

spring:
  application:
    name: eureka

  security:
    user:
      name: root
      password: root

logging:
  level:
    root: info

---
spring:
  profiles: peer1
server:
  port: 7901
eureka:
  instance:
    hostname: peer1
  client:
    #设置服务注册中心的URL
    service-url:                      
      defaultZone: http://root:root@peer2:7902/eureka/,http://root:root@peer3:7903/eureka/
---
spring:
  profiles: peer2
server:
  port: 7902
eureka:
  instance:
    hostname: peer2
  client:
       #设置服务注册中心的URL
    service-url:                      
      defaultZone: http://root:root@peer3:7903/eureka/,http://root:root@peer1:7901/eureka/
---
spring:
  profiles: peer3
server:
  port: 7903
eureka:
  instance:
    hostname: peer3
  client:
       #设置服务注册中心的URL
    service-url:                      
      defaultZone: http://root:root@peer1:7901/eureka/,http://root:root@peer2:7902/eureka/

你可能感兴趣的:(springcloud,springboot,spring,boot)