centos7環境搭建Eureka-Server注冊中心集群


目的:測試和線上使用這套獨立的Eureka-Server注冊中心集群,目前3台虛擬機集群,后續可直接修改配置文件進行新增或減少集群機器。

 

系統環境:

Centos7x64

java8+(JDK1.8+)(java -version  確保java沒問題。注意添加環境變量)

端口:8761

各peer節點分別為:

192.168.1.134  peer1

192.168.1.27   peer2

192.168.1.152  peer3

 

一 創建項目

 

注意!注意!注意 這里有個IDEA的坑

 

開始引入相關的 eureka-server的包,如下圖

打開項目下 src/main/java/com.jinti.eureka2/Eureka2Application   按照步驟來,其中1,2需要自己手動敲代碼。

import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer

引入后可能需要下載相關依賴包,這個IDEA會自動完成。如果網絡好就很快,如果沒下載好可能會導致代碼提示錯誤。

其中3, pom.xml我這邊沒修改過,是IDEA根據項目自動生成,基本上夠用。

  

配置好src/main/java/resource里的項目,我們有3個peer,選一個application-peer1.properties為例,另外2個配置大同小異:

#spring.application.name 所有節點要一致,不會出現unavailable-replicas
spring.application.name=eureka-server
eureka.instance.hostname=192.168.1.134
spring.profiles.active=peer1
#如下一般不用修改
server.port=8761
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true
#instance-id使得狀態status顯示為ip
eureka.instance.instance-id=${eureka.instance.hostname}:${server.port}
#defaultZone里使用的是eureka.instance.hostname,因為hostname是IP,然后注冊中心就使用IP注冊,不會出現unavailable-replicas
eureka.client.serviceUrl.defaultZone=http://192.168.1.27:8761/eureka/,http://192.168.1.152:8761/eureka/

其中需要更改的地方:

eureka.client.serviceUrl.defaultZone  里設置的IP是除了本身外的其他2個peer的IP和端口

eureka.instance.hostname 這里改為本機的IP,后續顯示狀態的時候用到。

spring.profiles.active 為節點昵稱,不知道為什么我用IP,后面啟動帶參的時候不行,用peer或者其他昵稱也不錯。

其他說明:

因為做了集群相互發現和注冊,如下設置為true

eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true

 依次分別設置好3個配置文件,分別啟動3個節點在IDEA內測試,可參考:https://www.cnblogs.com/hfultrastrong/p/8549590.html

 如果測試沒有錯就開始打包部署了。

 

二 maven打包jar運行和部署

如下圖所示:

已編譯: eureka2-0.0.1-SNAPSHOT.jar

已配置:eureka2-0.0.1-SNAPSHOT.jar\BOOT-INF\classes下

application-peer1.properties、 application-peer2.properties、application-peer3.properties

打包后就是一個完整的jar包,如上圖5所示,存放於項目的target目錄下。找到這個eureka2-0.0.1-SNAPSHOT.jar 就可以上傳到peer機器上跑了。

各節點 分別 執行 對應的啟動命令,因為application-peer*.properties里寫固定了peer對應的機器

java -jar eureka2-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1 &

java -jar eureka2-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2 &

java -jar eureka2-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer3 &

比如peer1 對應機器 192.168.1.134,則在1.134這邊執行,以此類推

java -jar eureka2-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1 &

如果端口正常起來,因為其他節點還沒起來,可能會報一下同步錯誤,等其他節點都起來就沒問題了。

關閉: kill pid

 

網頁訪問 http://peerIP:8761,各節點replicas 分片正常即可。

 

三 后續修改,新增或減少eureka集群的機器

通過  修改eureka2-0.0.1-SNAPSHOT.jar\BOOT-INF\classes里的application-peer*.properties配置文件並覆蓋即可。

完整的jar下載:

鏈接: https://pan.baidu.com/s/1cb0XYt3-sb3SAOzee0Q0nQ

提取碼: 6ww8

 

好久沒寫文章,如有錯誤和建議請留言,謝謝!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM