redisクラスタ設定オープン自己起動

4848 ワード

運用環境
サーバcentos 7.3,ip:47.5.42.245、含まれるクラスタノードは7000370047005
ファイアウォールを開く
systemctl eable firewalld.service 

redisクラスタ設定オープン自己起動
ここではクラスタ内のredisノードが起動し、クラスタを使用していないように設定されています.ここでは7003サービスが設定されています.
1. 起動スクリプトの要件に従って、ノードのプロファイルをポート名で指定したディレクトリにコピーします.ここでは/etc/redis_にコピーします.cluster
cd /etc
mkdir redis_cluster
cd redis_cluster
cp /tmp/frank/redis/redis-3.2.1/redis_cluster/* /etc/redis_cluster/

2./etc/init.dディレクトリの下に新規起動スクリプトが作成され、redis 7003と命名された
 vim redis7003

完全な構成情報は
 #!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /pro filesystem.
# chkconfig:2345 90 10
# description:Redis is a persistent key-value database

REDISPORT=7003
EXEC=/tmp/frank/redis/redis-3.2.1/src/redis-server
CLIEXEC=/tmp/frank/redis/redis-3.2.1/src/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis_cluster/${REDISPORT}/redis.conf"

case "$1" in
    start)
    if [ -f $PIDFILE ]
    then
        echo "$PIDFILE exists,process is already running or crashed"
    else
        echo "Starting Redis server $REDISPORT ..."
        $EXEC $CONF
    fi  
    ;;
    stop)
    if [ ! -f $PIDFILE ]
    then
        echo "$PIDFILE does not exit,process is not running"
    else
        PID=$(cat $PIDFILE)
        echo "Stopping"
        $CLIEXEC -p $REDISPORT shutdow
        while [ -x /proc/${PID}]
        do
            echo "Waiting for Redis to shutdown ..."
            sleep 1
        done
        echo "Redis stopped"
    fi
    ;;
    *)
    echo "Please use start or stop as first argument"
    ;;
esac

3.起動ファイルの権限の変更
chmod +x /etc/init.d/redis7003

4. 起動サービスの設定
chkconfig redis7003 on  

5.起動、redis停止
service redis start   #   /etc/init.d/redis start  
service redis stop   #   /etc/init.d/redis stop

6. rebootサーバの再起動
7.サービスが開始されたかどうかをテスト
[root@iZj6c7eeosj2t5vjw8rf4xZ init.d]# redis-cli -c -p 7003
127.0.0.1:7003> 

8.残りのノードは上記の手順で続行します.