redisサーバのインストール、プライマリ・セカンダリ・レプリケーションの構築


redisサーバのインストール
ダウンロードディレクトリへ
cd/usr/local/ 
パッケージのダウンロード
wget  http://download.redis.io/releases/redis-3.2.4.tar.gz
解凍
tar zxvf redis-3.2.4.tar.gz && cd redis-3.2.4 
コンパイル
make && make test 
cd/usr/local/redis-3.2.4 && make install 
redisプロファイル格納ディレクトリの作成
mkdir -p/usr/local/redis-6379/conf 
 cp/usr/local/redis-3.2.4/redis.conf  /usr/local/redis-6379/conf 
実行可能プログラムのディレクトリの作成
mkdir -p/usr/local/redis-6379/sbin
cd /usr/local/redis-3.2.4/src/
cp redis-cli redis-sentinel mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb  redis-server redis-trib.rb/usr/local/redis-6379/sbin 
起動スクリプトの作成
#!/bin/bash
source /etc/profile
REDISPORT=6379
EXEC=/usr/local/redis-6379/sbin/redis-server
REDIS_CLI=/usr/local/redis-6379/sbin/redis-cli
PIDFILE=/var/run/redis_6379.pid
CONF=" /usr/local/redis-6379/conf/redis.conf "
AUTH="1234"
BIND_IP='127.0.0.1'

case "$1" in
       start)
            if [ -f $PIDFILE ]
            then
                 echo "$PIDFILE is exists"
                 exit 1
             else
                 echo "start redis server"
                 $EXEC $CONF &
             fi
             if [ "$?"="0" ]
              then 
                  echo "Redis is running...."
             fi
              ;;
       stop)
           if [ ! -f $PIDFILE ]
           then 
                echo "$PIDFILE exists,process is not running "
                exit 1
            else 
                PID=$(cat $PIDFILE )
                echo "stoping Redis ...."
             $REDIS_CLI -h $BIND_IP -a $AUTH -p $REDISPORT SHUTDOWN
             sleep 3
            if [ ! -f $PIDFILE   ]
             then 
             echo “stop Redis success ”      
            fi
          
           *)
            echo "Usage:redis_control.sh{start|stop}"
            exit 1
esac

ログイン
./redis-cli -p 6379 
アナログ挿入データ
127.0.0.1:6379> set test hello
OK
表示
127.0.0.1:6379> get test
"hello"
redis主従構築
1、同様の方法でredisスレーブサーバを構築し、スレーブサーバのポート番号を6380に設定する
2.6379ポート番号のredisサーバーをメインサーバーとし、6380サーバーをスレーブサーバーとする
3.redisスレーブサーバの構成を変更する
サーバから次の構成を追加
# slaveof
slaveof 127.0.0.1 6379
masterauth 1234##注記masterサーバにパスワードがある場合は追加する必要があります
テスト主従
マスターの情報の表示
# Replication
role:master
connected_slaves:1
slave0:ip=127.0.0.1,port=6380,state=online,offset=4321,lag=1
master_repl_offset:4321
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:4320

slaveの情報の表示
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_repl_offset:4601
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

データが正常かどうかをテスト
master 
127.0.0.1:6379> set test1 hi
OK
127.0.0.1:6379> get test1
"hi"
slave
127.0.0.1:6380> get test1
"hi"
テスト正常、主従構築完了