栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux企业运维--redis 安装+主从复制+高可用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux企业运维--redis 安装+主从复制+高可用

简介

1、Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

2、redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

3、Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。Redis支持主从同步,数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

4、就Redis技术而言,它的性能十分优越,可以支持每秒十几万此的读/写操作,其性能远超数据库,并且还支持集群、分布式、主从同步等配置,原则上可以无限扩展,让更多的数据存储在内存中,另外,它还支持一定的事务能力,这保证了高并发的场景下数据的安全和一致性

安装redis server2

停掉MySQL


推荐使用systemd
如果使用systemd管控,那么在make时,加上该选项

安装gcc和make

因为有Makefile,所以不用./configure

make+make install


redis默认安装位置


启动时提示用systemd


注释之后重新启动
6379是端口
config file :配置文件
log file : 日志
data direrctory :数据目录
executable path : 调用的主程序

server3




make+make install

使用



redis主从复制




slave也需要修改




已经同步

常用指令
redis常用指令:
config get * //查看配置
select 1 //选择数据库
flushdb           //清空当前数据库
flushall            //清空所有数据库
move key 1         //移动key
del key //删除
rename oldkey newkey    //改名
expire key 10       //设置过期时间
persist key         //设置持久化
keys user*           //查询
exists key          //判断是否存在





redis+sentinel 实现高可用

Redis 的哨兵模式(Sentinel)用于管理多个 Redis 服务器(instance),该模式执行以下三个任务:
监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器


不用编译直接传







配置sentinel



后面的2,说明至少两个节点投票说出故障了,才会切到新的master

启动之前拷贝,要不会写入本机信息



这个命令其实是软链接,两个命令都可以使用


故障切换









如今server2开启了,但是也不是master了,是slave

看server2配置文件

关于redis哨兵判断监视节点是否宕机的原理

redis哨兵Sdown,Odown两种失败状态:

主观下线(Subjectively Down, 简称 SDOWN)指的是单个 Sentinel 实例对服务器做出的下线判断。
客观下线(Objectively Down, 简称 ODOWN)指的是多个 Sentinel 实例在对同一个服务器做出 SDOWN 判断, 并且通过 SENTINEL is-master-down-by-addr 命令互相交流之后, 得出的服务器下线判断。 (一个 Sentinel 可以通过向另一个 Sentinel 发送 SENTINEL is-master-down-by-addr 命令来询问对方是否认为给定的服务器已下线。)
如果一个服务器没有在 master-down-after-milliseconds 选项所指定的时间内, 对向它发送 PING 命令的 Sentinel 返回一个有效回复(valid reply), 那么 Sentinel 就会将这个服务器标记为主观下线。
客观下线条件只适用于主服务器,对于任何其他类型的 Redis 实例, Sentinel 在将它们判断为下线前不需要协商, 从服务器或者其他 Sentinel 永远不会达到客观下线条件。
只要一个 Sentinel 发现某个主服务器进入了客观下线状态, 这个 Sentinel 就可能会被其他 Sentinel 推选出, 并对失效的主服务器执行自动故障迁移操作。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/841060.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号