redis主従配置及び高可用性哨兵
16216 ワード
一.インストールredis
1.解凍
tar -zxvf redis-3.2.9.tar.gz
2.インストール
* : cd redis-3.2.9
* :make
* , gcc ,yum -y install gcc
* make make, make clean 、make distclean
* error: jemalloc/jemalloc.h: No such file or directory make MALLOC=libc
3.起動と停止
redis-3.2.9/src/ :
./redis-server &( )
./redis-cli shutdown( )
kill (-9) pid ,
二.redisマスタスレーブ構成
1.プロファイルの変更
[root@localhost redis-3.2.9]# cp redis.conf redis6380.conf
[root@localhost redis-3.2.9]# cp redis.conf redis6381.conf
[root@localhost redis-3.2.9]# cp redis.conf redis6382.conf
注:redis 6380.confはプライマリプロファイルです
include /usr/local/redis-3.2.9/redis.conf
daemonize yes
port 6380
pidfile /var/run/redis_6380.pid
logfile 6380.log
dbfilename dump6380.rdb
redis6381.confとredis 6382.confはプロファイルから
include /usr/local/redis-3.2.9/redis.conf
daemonize yes
port 6382
slaveof 127.0.0.1 6380
pidfile /var/run/redis_6382.pid
logfile 6382.log
dbfilename dump6382.rdb
slaveeof 127.0.0.1 6380(プライマリのポート番号)は、スレーブプロファイルにのみ構成されます.
2.異なるプロファイルでredisを起動する
[root@localhost src]# ./redis-server ../redis6380.conf
[root@localhost src]# ./redis-server ../redis6381.conf
[root@localhost src]# ./redis-server ../redis6382.conf
3.プロセスが開始されたかどうかを確認する
[root@localhost ~]# ps -ef | grep redis
root 4088 1 0 21:23 ? 00:00:00 ./redis-server *:6380
root 4095 1 0 21:24 ? 00:00:00 ./redis-server *:6381
root 4099 1 0 21:25 ? 00:00:00 ./redis-server *:6382
4.ポート番号を指定してコマンドモードに入り、ロールを表示する
[root@localhost src]# ./redis-cli -p 6381
主な役割情報
127.0.0.1:6380> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6382,state=online,offset=1219,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=1219,lag=0
master_repl_offset:1219
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:1218
からのロール情報
127.0.0.1:6381> info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6380
master_link_status:up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_repl_offset:183
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
5.テスト
メインにデータを書き込み、そこからメインサーバの圧力を分担できるように自動的にコピーし、読み書きを分離して書くときにメインサーバに書き、読むときにサーバから読む(mysqlの主従に類する)
三.高可用性哨兵
1.背景
Master Slave
Slave ,
Master ,
Slave slaveof no one Master, Slave slaveof Master,
, , Sentinel , Failover
7*24
2.プロファイルの変更
デフォルトのポート番号は26379です
[root@localhost redis-3.2.9]# cp sentinel.conf sentinel26380.conf
[root@localhost redis-3.2.9]# cp sentinel.conf sentinel26381.conf
[root@localhost redis-3.2.9]# cp sentinel.conf sentinel26382.conf
プロファイルの変更
[root@localhost redis-3.2.9]# vim sentinel26380.conf
sentinel :
1、 port 26380、 port 26381、 port 26382
2、 sentinel monitor mymaster 127.0.0.1 6380 2
注意:vimを入力すると、ヒント-bash:vim:command not found
rpm -qa|grep vim , vim , :
[root@centos]# rpm -qa |grep vim
vim-minimal-7.0.109-6.el5
vim-common-7.0.109-7.2.el5
vim-enhanced-7.0.109-7.2.el5
, vim-enhanced , yum -y install vim-enhanced :
yum -y install vim-enhanced
, yum -y install vim*
yum -y install vim*
3.歩哨を起動する
./redis-sentinel ../sentinel26380.conf
./redis-sentinel ../sentinel26381.conf
./redis-sentinel ../sentinel26382.conf
4.テスト
shutdown 6380ポートのredisのプロセス、哨兵は故障を監視して移転します
4266:X 08 Jul 22:12:06.192 # +sdown master mymaster 127.0.0.1 6380( )
4266:X 08 Jul 22:12:06.211 # +new-epoch 1
4266:X 08 Jul 22:12:06.214 # +vote-for-leader 3508680a52db8da31b5a224ed0a73b3bdb5cefc6 1( )
4266:X 08 Jul 22:12:06.276 # +odown master mymaster 127.0.0.1 6380 #quorum 3/2
4266:X 08 Jul 22:12:06.277 # Next failover delay: I will not start a failover before Sat Jul 8 22:18:06 2017
4266:X 08 Jul 22:12:06.948 # +config-update-from sentinel 3508680a52db8da31b5a224ed0a73b3bdb5cefc6 127.0.0.1 26382 @ mymaster 127.0.0.1 6380
4266:X 08 Jul 22:12:06.948 # +switch-master mymaster 127.0.0.1 6380 127.0.0.1 6381( 6381 )
4266:X 08 Jul 22:12:06.948 * +slave slave 127.0.0.1:6382 127.0.0.1 6382 @ mymaster 127.0.0.1 6381
4266:X 08 Jul 22:12:06.948 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6381
4266:X 08 Jul 22:12:36.963 # +sdown slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6381