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

[经验分享] redis介绍及主从配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-22 09:03:03 | 显示全部楼层 |阅读模式
本文主要包含两个部分:简单介绍下什么是redis、redis主从配置及基于sentinel实现redis集群故障自动切换。
redis基于内存亦可持久化的日志型、Key-Value数据库,目前接触到redis主要应用在session缓存方面。
一、系统环境
平台:Centos7.0_x86_64
主机:192.168.115.11、192.168.115.12、192.168.115.12
规划:11为master节点,12、13为slave节点
二、安装redis
1.软件安装
软件包:redis-2.6.4.tar.gz
tar  -zxvf  redis-2.6.4.tar.gz
cd redis-2.6.4
make PREFIX=/usr/local/redis install或者使用该命令指定安装路径
2.创建相关目录
mkdir  -pv  /usr/local/redis/{logs,var,etc}
mkdir  -pv  /data/redis
3.安装完bin下二进制文件介绍
redis-server:               #redis服务器的daemon启动程序
redis-cli:                      #redis命令行操作工具
redis-check-dump:   #用于检查本地数据库的rdb文件
redis-check-aof:       #对更新日志appendonly.aof检查,是否可用
redis-benchmark:    #redis性能测试工具,可以测试在本系统本配置下的读写性能
4.修改配置文件,修改如下几项
vi  /usr/local/redis/etc/redis.conf
daemonize yes                                          #以守护进程方式启动redis
pidfile /usr/local/redis/var/redis.pid    #pid文件存放位置
logfile /usr/local/redis/logs/redis.log   #日志文件存放路径
dir /data/redis                                          #数据文件路径
5.启动redis服务
/usr/local/redis/bin/redis-server  /usr/local/redis/etc/redis.conf
6.查看redis启动进程
wKioL1Wtte3gkpZWAAApkKc9ZZY950.jpg

wKiom1WttBuzhVKvAAAtkoidjPs341.jpg
7.查看日志发现如下提示信息
tail /usr/local/redis/logs/redis.log
wKioL1WtthaToVIxAABoxpegtM8275.jpg
添加以下信息
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
sysctl  -p
8.为redis提供启动脚本
cp  /root/redis-2.6.4/utils/redis_init_script  /etc/init.d/redis
修改文件
添加如下一行
# chkconfig: 2345 80 90
以下内容根据实际情况做修改
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/usr/local/redis/var/redis.pid
CONF="/usr/local/redis/etc/redis.conf"
chkconfig --add redis
service redis start
三、主从配置
1.在从节点上修改如下配置
slaveof 192.168.115.11 6379
2.启动服务

3.在主节点上写入一条数据
wKiom1WttFDip5dvAACYRuFgNdk881.jpg
4.在从节点上查看
wKiom1WttGGz-Ds3AABXDE1kGQ4890.jpg
测试数据正常同步
从节上日志信息
wKiom1WttHSwFQYhAADHo73riRI180.jpg
四、redis集群故障自动切换
1. Sentinel介绍
Sentinel 系统用于管理多个 Redis 服务器(instance),该系统执行以下三个任务:
监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
提醒(Notification):当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
自动故障迁移(Automatic failover):当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作,它会将失效主服务器的其中一个从服务器升级为新的主服务器,并让失效主服务器的其他从服务器改为复制新的主服务器;当客户端试图连接失效的主服务器时,集群也会向客户端返回新主服务器的地址,使得集群可以使用新主服务器代替失效服务器。
2.sentinel配置文件
/usr/local/redis/etc/sentinel.conf
port 26379
sentinel monitor mymaster 192.168.115.11 6379 2     #定义了监听的主服务器ip及端口,集群中的票数该值不大于集群中slave的个数
sentinel down-after-milliseconds mymaster 30000      #默认master失效时长
sentinel can-failover mymaster yes                                 #是否允许实施“failover”(故障转移),即当master挂了slave提升为master
sentinel parallel-syncs mymaster 1                                 
sentinel failover-timeout mymaster 900000
3.启动sentinel
在3台服务器上启动服务
/usr/local/redis/bin/redis-server /usr/local/redis/etc/sentinel.conf –sentinel &
wKiom1WttIrww5iyAACs33lbKkU180.jpg
查看服务监听端口号
wKioL1WttoPwnfe0AAA36C0DSpg459.jpg
在主服务器上查看当前服务器主从角色
/usr/local/redis/bin/redis-cli -h 192.168.115.11 -p 6379 info Replication
wKioL1WttpLjcso-AABd2bV_fFM937.jpg
在从服务器上查看当前服务器角色
/usr/local/redis/bin/redis-cli -h 192.168.115.12 -p 6379 info Replication
wKiom1WttL3BQ40UAAB7aMa3NMc041.jpg
4.模拟故障转移
关闭主服务器redis进程,此时从服务器在重新选举主服务器,从服务器上优先级低的会被选举会master
在从12上
wKioL1WttqvgXx2fAAFm-HOpfDc651.jpg
在从13上
wKiom1WttNySJDbGAAEmEJrfu_Y074.jpg
此时12已经成为新的master
wKioL1WttxiAx5EkAABNN1HZfpY199.jpg


运维网声明 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-89317-1-1.html 上篇帖子: redis学习笔记 下篇帖子: php与redis使用经验分享 (转载)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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