Redis Sentinel安装、配置和部署


 转载请注明出处哈: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结构)

 

(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

 

    

 

 

 

猜你喜欢

转载自carlosfu.iteye.com/blog/2275021