redis多实例、sentinel集群

实验说明:

  192.168.1.5 配置三个redis实例

  192.168.1.6配置两个sentinel实例

1.5配置: 

  [root@ml ~]# mkdir /etc/redis/

  [root@ml ~]# cd /etc/redis/

  [root@ml redis]# cp /etc/redis.conf  redis1.conf

  [root@ml redis]# cp /etc/redis.conf  redis2.conf

  [root@ml redis]# vim /etc/redis.conf 

bind  192.168.1.5
daemonize yes

  [root@ml redis]# mkdir /var/lib/redis6380/

  [root@ml redis]# chown  redis.  /var/lib/redis6380

  [root@ml redis]# vim redis1.conf

  修改:
     port 6379
  改为:
     port 6380

   修改:
     daemonize no
   改为:
     daemonize yes

   修改:
     pidfile /var/run/redis_6379.pid
   改为:
     pidfile /var/run/redis_6380.pid

   修改:
     logfile /var/log/redis/redis.log
   改为:
     logfile /var/log/redis/redis6380.log

   修改:
     dir /var/lib/redis
   改为:
     dir /var/lib/redis6380
  修改:
    slaveof <masterip> <masterport>
  改为:
    slaveof 192.168.1.5 6379 #我指定了一个master

 [root@ml redis]# mkdir /var/lib/redis6381

 [root@ml redis]# chown redis /var/lib/redis6381   

 [root@ml redis]# vim redis2.conf 

修改:
     port 6379
  改为:
     port 6381

   修改:
     daemonize no
   改为:
     daemonize yes

   修改:
     pidfile /var/run/redis_6379.pid
   改为:
     pidfile /var/run/redis_6381.pid

   修改:
     logfile /var/log/redis/redis.log
   改为:
     logfile /var/log/redis/redis6381.log

   修改:
     dir /var/lib/redis
   改为:
     dir /var/lib/redis6381
  修改:
    slaveof <masterip> <masterport>   改为:
    slaveof 192.168.1.5 6379 #我指定了一个master

      [root@ml redis]# redis-server  /etc/redis.conf     

    [root@ml redis]# redis-server  redis1.conf

    [root@ml redis]# redis-server  redis2.conf

    [root@ml redis]# netstat  -atunp | grep redis

tcp        0      0 192.168.1.5:6379        0.0.0.0:*               LISTEN      67652/redis-server  
tcp        0      0 127.0.0.1:6380          0.0.0.0:*               LISTEN      67660/redis-server  
tcp        0      0 127.0.0.1:6381          0.0.0.0:*               LISTEN      67665/redis-server  
tcp        0      0 192.168.1.5:6379        127.0.0.1:37137         ESTABLISHED 67652/redis-server  
tcp        0      0 127.0.0.1:36773         192.168.1.5:6379        ESTABLISHED 67660/redis-server  
tcp        0      0 127.0.0.1:37137         192.168.1.5:6379        ESTABLISHED 67665/redis-server  
tcp        0      0 192.168.1.5:6379        127.0.0.1:36773         ESTABLISHED 67652/redis-server  

测试:

    [root@ml redis]# redis-cli  -p 6379

    127.0.0.1:6379> info  Replication

# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=407,lag=0
slave1:ip=127.0.0.1,port=6381,state=online,offset=407,lag=0
master_repl_offset:407
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:406

 停止实例:

    redis-cli -p 6380 shutdown

1.6配置(sentinel集群):

[root@6 ~]# mkdir /etc/redis/

[root@6 ~]# cd /etc/redis/

简单点配置!

[root@6 redis]# vim /etc/redis-sentinel.conf

sentinel monitor mymaster 192.168.1.5 6279 2

 

[root@6 redis]# grep -v "^#\|^$" /etc/redis-sentinel.conf > 26380.conf

[root@6 redis]# grep -v "^#\|^$" /etc/redis-sentinel.conf > 26381.conf

[root@6 redis]# vim 26380.conf 

port 26380
dir /tmp
sentinel monitor mymaster 192.168.1.5 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
logfile /var/log/redis/sentinel26380.log

[root@6 redis]# touch  /var/log/redis/sentinel26380.log 

[root@6 redis]# chown redis chown redis /var/log/redis/sentinel6380.log

[root@6 redis]# vim 26381.conf 

port 26381
dir /tmp
sentinel monitor mymaster 192.168.1.5 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
logfile /var/log/redis/sentinel26381.log

[root@6 redis]# touch  /var/log/redis/sentinel26381.log 

[root@6 redis]# chown redis chown redis /var/log/redis/sentinel6381.log

启动:

[root@6 redis]# redis-sentinel  /etc/redis-sentinel.conf &

[root@6 redis]# redis-sentinel  26380.conf  & 

[root@6 redis]# redis-sentinel  26381.conf  & 

[root@6 redis]# netstat  -atunp | grep redis

tcp        0      0 0.0.0.0:26379           0.0.0.0:*               LISTEN      60500/redis-sentine 
tcp        0      0 0.0.0.0:26380           0.0.0.0:*               LISTEN      60535/redis-sentine 
tcp        0      0 0.0.0.0:26381           0.0.0.0:*               LISTEN      60538/redis-sentine 
tcp        0      0 192.168.1.6:39588       192.168.1.5:6379        ESTABLISHED 60535/redis-sentine 
tcp        0      0 192.168.1.6:39626       192.168.1.5:6379        ESTABLISHED 60538/redis-sentine 
tcp        0      0 192.168.1.6:39624       192.168.1.5:6379        ESTABLISHED 60538/redis-sentine 
tcp        0      0 192.168.1.6:39590       192.168.1.5:6379        ESTABLISHED 60535/redis-sentine 
tcp6       0      0 :::26379                :::*                    LISTEN      60500/redis-sentine 
tcp6       0      0 :::26380                :::*                    LISTEN      60535/redis-sentine 
tcp6       0      0 :::26381                :::*                    LISTEN      60538/redis-sentine 

[root@6 redis]# redis-cli  -p 26380

127.0.0.1:26380> info Sentinel

sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.1.5:6379,slaves=2,sentinels=2
发现看到2个slave、和2个sentinel

关闭实例:

  redis-cli -p 26380  shutdown

posted @ 2020-04-10 21:58  meml  阅读(389)  评论(0)    收藏  举报