前言
提示:上一章介绍了如何从零开始搭建第一个Eureka服务器,未读的同学可点击传送门:从零开始使用IDEA创建多个Eureka服务器集群(一)
本章将介绍如何搭建多个Eureka服务器并实现信息互联
一、添加本机地址映射
在windows下 c:\windows\system32\drivers\etc/hosts添加映射配置
找到hosts配置文件,右键打开(记事本也可)
添加映射地址,如下图所示
二、创建多个Eureka服务器
1.打开我们的项目空间,复制我们已经建立好的detailcloud-eureka,在父项目detailcloud下粘贴,将复制好的模块名修改为detailcloud-eureka2和detailcloud-eureka3
如果不在项目空间下复制,可能会出现root路径错乱!
2.修改detailcloud-eureka2和detailcloud-eureka3的配置
首先,我们先在父模块的pom文件下注册两个新增的子模块(新版的IDEA版本会自动添加)
<modules>
<!-- 子版块 -->
<module>detailcloud-eureka</module>
<module>detailcloud-eureka2</module>
<module>detailcloud-eureka03</module>
</modules>
再将detailcloud-eureka2和detailcloud-eureka3的pom文件中的模块信息更新,此时刷新maven,可看到模块名加粗,即模块已激活
<artifactId>detailcloud-eureka2</artifactId>
<name>detailcloud-eureka2</name>
<artifactId>detailcloud-eureka3</artifactId>
<name>detailcloud-eureka3</name>
修改启动类的类名,和新增的服务器名一致,便于区分,detailcloud-eureka3同理
之后将两个服务器的application.yml文件中的port和hostname配置,改为和自己模块信息一致(port和另两个服务器不同即可)
server:
port: 7002
eureka:
instance:
hostname: eureka2
server:
port: 7003
eureka:
instance:
hostname: eureka3
此时,我们的Eureka服务器集群已经创建完毕,我们启动服务查看效果。
eureka1
eureka2
eureka3同理
至此,我们的Eureka服务器集群已经实现激活并互相注册、共享信息
三、可能出现的错误
1.maven的配置问题
maven的仓库路径要配置正确,IDEA会自己创建maven路径,建议改回自己的maven路径。
2.模块未注册
如果创建的模块名并没有加粗;如图在这里插入图片描述
此时可能是子模块并没有在父模块下注册!
查看父模块pom文件,加上
<modules>
<!-- 子版块 -->
<module>detailcloud-eureka</module>
<module>detailcloud-eureka2</module>
<module>detailcloud-eureka3</module>
</modules>
刷新maven配置,模块名变粗,表示激活
3、服务启动失败:Failed to load property source from location ‘classpath:/application.yml’
若出现一下报错
此处错误源为:
Failed to load property source from location ‘classpath:/application.yml’
表示springboot无法读取resource中的ymal文件
解决方案:
修改IDEA的字符配置,如图所示
将字符集全部改为UTF-8 保存
测试,服务启动成功。