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中多次启动同一个项目,启动设置修改,每个高可用的端口都要配置一个启动项
在启动过程中会报错,可以不用管。(注意如果运行非最后一个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:[email protected]:7902/eureka/,http://root:[email protected]:7903/eureka/ --- spring: profiles: peer2 server: port: 7902 eureka: instance: hostname: peer2 client: #设置服务注册中心的URL service-url: defaultZone: http://root:[email protected]:7903/eureka/,http://root:[email protected]:7901/eureka/ --- spring: profiles: peer3 server: port: 7903 eureka: instance: hostname: peer3 client: #设置服务注册中心的URL service-url: defaultZone: http://root:[email protected]:7901/eureka/,http://root:[email protected]:7902/eureka/