轉載請注明出處哈: http://carlosfu.iteye.com/blog/2240426
實際中,多個sentinel、master、slave不應該在一台機器
一、準備redis(下載下傳、編譯、安裝、配置目錄、資料目錄)
1. 下載下傳、編譯、安裝
cd /opt/soft
wget http://download.redis.io/releases/redis-3.0.6.tar.gz
tar xzf redis-3.0.6.tar.gz
cd redis-3.0.6
make
make install
2. 配置目錄、資料目錄
cd /opt/soft/redis-3.0.6
mkdir -p data
mkdir -p conf
3.建立軟連結:
ln -s /opt/soft/redis-3.0.6 /opt/soft/redis
二、配置、啟動Redis節點(本例子以1主2從,3個sentinel組成Redis Sentinel結構)
Redis Sentinel安裝、配置和部署
轉載請注明出處哈:http://carlosfu.iteye.com/blog/2240426

(1) 配置redis節點,在conf目錄下添加3個(7000,7001,7002)redis-${port}.conf作為3個Redis節點的配置檔案
其中7000是主,7001,7002是從
master的配置檔案(7000)
port 7000
daemonize yes
pidfile /var/run/redis-7000.pid
logfile "7000.log"
dbfilename "dump-7000.rdb"
appendonly yes
appendfilename "appendonly-7000.aof"
dir "/opt/soft/redis/data/"
生成兩個slave的配置檔案(7001,7002)
sed 's/7000/7001/g' redis-7000.conf > redis-7001.conf
echo "slaveof 10.10.53.159 7000" >> redis-7001.conf
sed 's/7000/7002/g' redis-7000.conf > redis-7002.conf
echo "slaveof 10.10.53.159 7000" >> redis-7002.conf
(2) 啟動3個節點。
redis-server /opt/soft/redis/conf/redis-7000.conf
redis-server /opt/soft/redis/conf/redis-7001.conf
redis-server /opt/soft/redis/conf/redis-7002.conf
檢視節點是否都已經啟動:
[@zw_53_162 conf]# ps -ef | grep redis
root 31869 1 0 22:59 ? 00:00:00 redis-server *:7000
root 31875 1 0 22:59 ? 00:00:00 redis-server *:7001
root 31885 1 0 22:59 ? 00:00:00 redis-server *:7002
檢視主從關系:
[@zw_53_162 conf]# redis-cli -p 7000 info replication
# Replication
role:master
connected_slaves:2
slave0:ip=10.10.53.159,port=7001,state=online,offset=15,lag=1
slave1:ip=10.10.53.159,port=7002,state=online,offset=15,lag=1
master_repl_offset:15
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:14
三、啟動sentinel節點:
(1). 啟動3個sentinel節點(26379,26380,26381),配置如下:
redis-sentinel-26379.conf
port 26379
daemonize yes
pidfile /var/run/redis-26379.pid
logfile "26379.log"
dir /opt/soft/redis/data
sentinel monitor mymaster 10.10.53.159 7000 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
redis-sentinel-26380.conf, redis-sentinel-26381.conf
sed 's/26379/26380/g' redis-sentinel-26379.conf > redis-sentinel-26380.conf
sed 's/26379/26381/g' redis-sentinel-26379.conf > redis-sentinel-26381.conf
(2) 啟動3個sentinel節點。
redis-sentinel /opt/soft/redis/conf/redis-sentinel-26379.conf
redis-sentinel /opt/soft/redis/conf/redis-sentinel-26380.conf
redis-sentinel /opt/soft/redis/conf/redis-sentinel-26381.conf
[@zw_53_162 conf]# ps -ef | grep redis-sentinel
root 2949 1 0 23:09 ? 00:00:00 redis-sentinel *:26379 [sentinel]
root 2955 1 0 23:09 ? 00:00:00 redis-sentinel *:26380 [sentinel]
root 2961 1 0 23:09 ? 00:00:00 redis-sentinel *:26381 [sentinel]
sentinel的info資訊查詢:
[@zw_53_162 config]# redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
master0:name=mymaster,status=ok,address=10.10.53.159:7000,slaves=2,sentinels=3