Eureka Server註冊中心集羣中的每一個節點都是平等的,每一個節點能夠做爲一個服務,服務節點之間經過發送心跳進行投票。java
依賴單機版的eurekaServer的項目修改其中的內容便可。spring
1. 新建文件application-eurekaserver1.properties安全
spring.application.name=eureka-server server.port=8761 # 定義Eureka Server實例在註冊中心中的命名。建議使用配置文件的後綴定義。 eureka.instance.hostname=eurekaserver1 # 配置集羣中其餘Eureka Server節點的信息。若是須要配置多個節點,使用逗號','分割多個節點信息。 # 節點的信息格式爲: http://地址:端口/eureka/ 。 地址能夠使用IP、域名、主機名定義。 # 使用HTTP Basic語法,提供安全認證中須要使用的用戶名和密碼。 # 語法是: http://用戶名:密碼@地址:端口/eureka/ eureka.client.serviceUrl.defaultZone=http://eurekaserver2:8761/eureka/
application-eurekaserver2.propertiesbash
spring.application.name=eureka-server server.port=8761 # 定義Eureka Server實例在註冊中心中的命名。建議使用配置文件的後綴定義。 eureka.instance.hostname=eurekaserver1 # 配置集羣中其餘Eureka Server節點的信息。若是須要配置多個節點,使用逗號','分割多個節點信息。 # 節點的信息格式爲: http://地址:端口/eureka/ 。 地址能夠使用IP、域名、主機名定義。 # 使用HTTP Basic語法,提供安全認證中須要使用的用戶名和密碼。 # 語法是: http://用戶名:密碼@地址:端口/eureka/ eureka.client.serviceUrl.defaultZone=http://eurekaserver2:8761/eureka/
2. 修改主機名,vi /etc/hosts服務器
192.168.186.115 eurekaserver1 192.168.186.116 eurekaserver2
3. 使用Maven install打包jar,在項目工程的target目錄中,分別上傳到兩個服務器上app
4. 在上傳jar包同級目錄新建文件,vi eurekaserver.sh,修改對應的參數ide
#!/bin/bash cd `dirname $0` CUR_SHELL_DIR=`pwd` CUR_SHELL_NAME=`basename ${BASH_SOURCE}` JAR_NAME="項目jar包名稱" JAR_PATH=$CUR_SHELL_DIR/$JAR_NAME #JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024m -XX:PermSize=128m" JAVA_MEM_OPTS="" SPRING_PROFILES_ACTIV="-Dspring.profiles.active=配置文件變量名稱" #SPRING_PROFILES_ACTIV="" LOG_DIR=$CUR_SHELL_DIR/logs LOG_PATH=$LOG_DIR/${JAR_NAME%..log echo_help() { echo -e "syntax: sh $CUR_SHELL_NAME start|stop" } if [ -z $1 ];then echo_help exit 1 fi if [ ! -d "$LOG_DIR" ];then mkdir "$LOG_DIR" fi if [ ! -f "$LOG_PATH" ];then touch "$LOG_DIR" fi if [ "$1" == "start" ];then # check server PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'` if [ -n "$PIDS" ]; then echo -e "ERROR: The $JAR_NAME already started and the PID is ${PIDS}." exit 1 fi echo "Starting the $JAR_NAME..." # start nohup java $JAVA_MEM_OPTS -jar $SPRING_PROFILES_ACTIV $JAR_PATH >> $LOG_PATH 2>&1 & COUNT=0 while [ $COUNT -lt 1 ]; do sleep 1 COUNT=`ps --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}' | wc -l` if [ $COUNT -gt 0 ]; then break fi done PIDS=`ps --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}'` echo "${JAR_NAME} Started and the PID is ${PIDS}." echo "You can check the log file in ${LOG_PATH} for details." elif [ "$1" == "stop" ];then PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'` if [ -z "$PIDS" ]; then echo "ERROR:The $JAR_NAME does not started!" exit 1 fi echo -e "Stopping the $JAR_NAME..." for PID in $PIDS; do kill $PID > /dev/null 2>&1 done COUNT=0 while [ $COUNT -lt 1 ]; do sleep 1 COUNT=1 for PID in $PIDS ; do PID_EXIST=`ps --no-heading -p $PID` if [ -n "$PID_EXIST" ]; then COUNT=0 break fi done done echo -e "${JAR_NAME} Stopped and the PID is ${PIDS}." else echo_help exit 1 fi
修改可執行權限 spa
chmod 755 eurekaserver.sh
啓動Eureka Server - ./eurekaserver.sh start 關閉Eureka Server - ./eurekaserver.sh stop