设为首页 收藏本站
查看: 944|回复: 0

[经验分享] redis sentinel-11568535

[复制链接]

尚未签到

发表于 2018-11-2 11:31:19 | 显示全部楼层 |阅读模式
  一、环境
  centos7:
  vm1:192.168.122.21:6379(redis主)
  vm2:192.168.122.22:6379(redis从)
  vm3:192.168.122.23:6379(redis从)
  vm1:192.168.122.21:26379(sentinel)
  vm2:192.168.122.22:26379(sentinel)
  vm3:192.168.122.23:26379(sentinel)
  软件:
  wget http://download.redis.io/releases/redis-4.0.6.tar.gz
  二、搭建redis主从复制
  vm1+vm2+vm3:
  

  yum -y install tcl gcc automake autoconf libtool make wget  tar xf redis-4.0.8.tar.gz -C /usr/local/
  cd /usr/local/redis-4.0.8 && make MALLOC=libc && make test
  mkdir /usr/local/redis
  cd /usr/local/redis-4.0.8/src
  cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-   sentinel redis-server /usr/local/redis/
  cat > /etc/profile.d/redis.sh  /usr//lib/systemd/system/redis.service   ExecStop=/usr/local/redis/redis-server -s stop
  PrivateTmp=true
  [Install]
  WantedBy=multi-user.target
  HERE
  

  vm1主:
  

vim /etc/redis/redis.conf  daemonize yes
  pidfile /redisdir/run/redis.pid
  logfile /redisdir/log/redis.log
  dir /redisdir/data
  

  vm2从+vm3从:
  

daemonize yes  
pidfile "/redisdir/run/redis.pid"
  
logfile "/redisdir/log/redis.log"
  
dir /redisdir/data
  
slaveof 192.168.122.21 6379
  

  验证:
  

redis-cli -h 192.168.122.21 info replication  
# Replication
  
role:master
  
connected_slaves:2
  
slave0:ip=192.168.122.22,port=6379,state=online,offset=70,lag=1
  
slave1:ip=192.168.122.23,port=6379,state=online,offset=70,lag=1
  
master_replid:4e14c7fb04173df1522ad412748dd022ecb0e9e7
  
master_replid2:0000000000000000000000000000000000000000
  
master_repl_offset:70
  
second_repl_offset:-1
  
repl_backlog_active:1
  
repl_backlog_size:1048576
  
repl_backlog_first_byte_offset:1
  
repl_backlog_histlen:70
  

  主从已经搭建完成,但是我们在代码里面需要指定固定的redis的IP,如果主出现故障,从出现故障或者增加新的redis 从节点,代码需要变化,就很麻烦,这时出现了redis sentinel,代码只需要指向高可用的redis sentinel,获取当前有效的主从ip。
  三、redis sentinel
  vm1+vm2+vm3(一样)
  

vim /etc/redis/sentinel.conf  
#
  
protected-mode no
  
port 26379
  
dir "/redisdir/data"
  
sentinel monitor mymaster 192.168.122.22 6379 2
  
pidfile "/redisdir/run/redis-sentinel.pid"
  
logfile "/redisdir/log/redis.log"
  
cat /usr/lib/systemd/system/redis.service
  
[Unit]
  
Description=Redis
  
After=network.target
  

  
[Service]
  
Type=forking
  
ExecStart=/usr/local/redis/redis-server /etc/redis/redis.conf

  
ExecReload=/usr/local/redis/redis-server -s>  
ExecStop=/usr/local/redis/redis-server -s stop
  
PrivateTmp=true
  
[Install]
  
WantedBy=multi-user.target
  

  启动redis-sentinel并查看集群信息
  

systemctl start redis-sentinel  redis-cli -h 192.168.122.21 -p 26379 info Sentinel
  
# 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.122.21:6379,slaves=2,sentinels=3
  

  四、模拟实验(把vm1的redis关掉,查看master是否改变)
  

systemctl stop redis  
redis-cli -h 192.168.122.21 -p 26379 info Sentinel
  
# 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.122.22:6379,slaves=2,sentinels=3
  

  已经变成192.168.122.22了,成功。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-629781-1-1.html 上篇帖子: Redis常用命令-服务器相关命令 下篇帖子: redis相关(搭建和数据落盘)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表