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" 回車

在idea中多次啓動同一個項目,啓動設置修改,每個高可用的端口都要配置一個啓動項,-Dserver.port=7901,--spring.profiles.active=peer2

 

在啓動過程中會報錯,可以不用管。(注意如果運行非最後一個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/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章