文章目录
前言
使用IDEA创建多个Eureka服务器的流程及可能遇到的错误
一、new一个springboot工程
1.选择spring Initializr初始化一个springboot工程
2.选择你的jdk版本,点击next
3.添加创建Eureka的服务器所需要的依赖(springboot的版本要选择自己的版本)
4.修改项目名点finish完成创建
项目创建完成后,maven将根据pom.xml文件自动导入依赖中的jar包。(依赖也可以通过手动输入的方式导入)
当项目创建成功,可在pom文件中看到如下代码段
<groupId>com.yc.Lwc</groupId>
<artifactId>detailcloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>detailcloud</name>
<description>Demo project for Spring Boot</description>
此处为项目的信息
二、创建第一个Eureka服务器
1.右击我们创建的springboot工程,new一个module模块,并选择maven工程
点击next之后只需更改模块名即可点击finish创建完成
此处不再创建springboot工程而选择了maven工程,是因为此模块是基于我们之前创建的springboot工程的,故detailcloud为detailcloud-erueka的父模块,创建完成后查看模块的pom文件,可以看到此片段:
<parent>
<artifactId>detailcloud</artifactId>
<groupId>com.yc.Lwc</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>detailcloud-eureka</artifactId>
<name>detailcloud-eureka</name>
此处的parent标签表示detailcloud与本模块是父子的关系,也就是说我们创建的detailcloud-erueka模块可以使用父模块中的jar包而在父模块中,父可以规定子模块使用的jar包版本
以上的pom文件操作如果发生标红报错,则可能是maven的配置问题,请在此界面检查maven仓库的配置是否正确
2.配置Eureka服务器模块
在resource目录下创建application.yml文件
在application文件中进行eureka的信息配置
server:
port: 7001
eureka:
instance:
hostname: eureka1
client:
service-url:
defaultZone: http://admin:a@eureka1:7001/eureka,http://admin:a@eureka2:7002/eureka,http://admin:a@eureka3:7003/eureka
yml的语法十分严格,注意缩进关系和冒号后的空格!!!
此处设置eureka的服务端口port=7001
访问地址hostname设为eureka1(此处需要在windows下 c:\windows\system32\drivers\etc/hosts添加映射配置 如在文档中添加127.0.0.1 eureka1,就添加了一个本地的地址映射)
client:
service-url:
defaultZone: http://admin:a@eureka1:7001/eureka,http://admin:a@eureka2:7002/eureka,http://admin:a@eureka3:7003/eureka
此处 service-url配置了多个eureka服务器的地址,当eureka集群建立完成,各个服务器之间将通过此地址进行信息注册和信息共享
最后在java目录下创建启动类
package com.yc.Lwc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* @author Liweicheng
* @create 2020/10/11 - 20:38
*/
@SpringBootApplication
@EnableEurekaServer //启用 eureka服务器
public class EurekaApp {
public static void main(String[] args) {
SpringApplication.run( EurekaApp.class, args );
}
}
至此,第一个eureka服务器已经配置成功,将服务器启动,控制台看到如下界面
此时我们第一个eureka服务器已经启动成功,但为什么会报错呢?这里是因为eureka服务器的心跳机制,每30秒,eurekaclient要向eurekaserver发送一个心跳信号表示eurekaclient存活,我们目前还没有配置eurekaclient到服务器,所以目前eureka服务器会一直报错。
现在在浏览器输入我们配置的地址 http://eureka1:7001/
当你看到如下界面,恭喜你,第一个eureka服务器已经配置成功了!!
三、可能遇到的错误
1.maven的配置问题
maven的仓库路径要配置正确,IDEA会自己创建maven路径,建议改回自己的maven路径。
2.模块未注册
如果创建的模块名并没有加粗;如图
此时可能是子模块并没有在父模块下注册!
查看父模块pom文件,加上
<modules>
<!-- 子版块 -->
<module>detailcloud-eureka</module>
</modules>
刷新maven配置,模块名变粗,表示激活