搭建集羣版Eureka Server

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
View Code

修改可執行權限 spa

chmod 755 eurekaserver.sh
啓動Eureka Server  - ./eurekaserver.sh start 關閉Eureka Server - ./eurekaserver.sh stop
相關文章
相關標籤/搜索