springcloud 叢集部署jar檔案,shell指令碼執行
本文主要是記錄springcloud的註冊中心的高可用、叢集部署、專案打包jar檔案編寫shell指令碼進行部署。
首選我們準備一個註冊中心jar包,裡面有兩個配置檔案
application-eureka1.properties :
#服務埠 server.port=1111 #服務例項的host地址 eureka.instance.hostname=eureka1 #是否註冊到其他服務 eureka.client.register-with-eureka=false #是否檢索其他服務 eureka.client.fetch-registry=false #註冊中心地址 eureka.client.service-url.defaultZone=http://eureka2:1112/eureka/ #關閉健康檢測 eureka.server.enable-self-preservation=false #更新註冊例項列表間隔時間 eureka.server.eviction-interval-timer-in-ms=100
application-eureka2.properties
#服務埠 server.port=1112 #服務例項的host地址 eureka.instance.hostname=eureka2 #是否註冊到其他服務 eureka.client.register-with-eureka=false #是否檢索其他服務 eureka.client.fetch-registry=false #註冊中心地址 eureka.client.service-url.defaultZone=http://eureka1:1111/eureka/ #關閉健康檢測 eureka.server.enable-self-preservation=false #更新註冊例項列表間隔時間 eureka.server.eviction-interval-timer-in-ms=100
通過兩個配置檔案的相互註冊所有的服務例項會共享在一起
修改linux下的hosts檔案,vi /etc/hosts
eureka註冊中心的啟動指令碼如下:
#!bin/bash PROJECT="eureka-server-0.0.1-SNAPSHOT" JAR_PATH="/product/cloud_server/server_jar/" project_id=$(ps -ef| grep $PROJECT |grep -v grep|awk '{print $'4'}') echo "eureka server port:"$project_id;
if [ "x" != "x$project_id" ] then echo "service exce kill option"; $(ps -elf| grep $PROJECT |grep -v grep|awk '{print $'4'}'|xargs kill -9); else echo "service no runing ---exce start option"; fi
$(/usr/local/java/jdk1.8/bin/java -Xmx1024m -jar $JAR_PATH$PROJECT.jar --spring.profiles.active=eureka1 > ../logs/$PROJECT1.log &); echo "start prot:1111";
sleep 1
$(/usr/local/java/jdk1.8/bin/java -Xmx1024m -jar $JAR_PATH$PROJECT.jar --spring.profiles.active=eureka2 > ../logs/$PROJECT2.log &); echo "start port:1112";
echo "eureka start end"
通過紅色處進行指定某個檔案啟動,配置檔案裡面指定了專案啟動的埠。
其他服務的shell內容基本相同,主要是根據jar包的名稱檢索是否已經啟動,如果已經啟動的話就kill掉先關的程序,然後重新啟動,配置了年輕代的大小、指定了具體的啟動配置檔案。