博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis哨兵模式的搭建生产环境中也适用(1主+1从+1哨兵)
阅读量:17325 次
发布时间:2019-09-17

本文共 2693 字,大约阅读时间需要 8 分钟。

Redis的搭建和配置

Redis是一个高性能的key-value数据库,和memcached类似,但它支持存储的value类型更多。与memcached一样,为来保证效率,数据都是缓存在内存中。

Redis和Memcahced的区别:

1、Redis和Memcached都是将数据存放在内存中,都是内存数据库。不过memcached还可用于缓存其他东西,例如图片、视频等等;
2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;
3、虚拟内存–Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;
4、过期策略–memcached在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10;
5、分布式–设定memcached集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从;
6、存储数据安全–memcached挂掉后,数据没了;redis可以定期保存到磁盘(持久化);
7、灾难恢复–memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;
8、Redis支持数据的备份,即master-slave模式的数据备份;
redis哨兵模式的搭建:
集群环境:
172.16.16.40 redis主
172.16.16.50 redis从
172.16.16.60 redis哨兵
第一步:安装前的准备工作(全部服务器都需要操作)

1、关闭centos防火墙,实际生产环境可以对外开放端口号2、安装gcc编译的环境命令:yum install -y gcc gcc-c++确认是否安装成功命令:gcc -v

在这里插入图片描述

3、调整内核(全部服务器都需要操作)vim /etc/sysctl.confnet.core.somaxconn = 1024vm.overcommit_memory = 1sysctl -p(刷新内核参数)

在这里插入图片描述

echo never > /sys/kernel/mm/transparent_hugepage/enabled source /etc/rc.local (这是为了解决redis启动是的内核报错)

第二步:开始安装redis

1、上传redis-4.0.5.tar.gz的安装包到/usr/local/src目录下

在这里插入图片描述

2、解压这个包到当前目录下解压命令:tar zxvf redis-4.0.5.tar.gzmv redis-4.0.5 redis4、进入这个目录下,直接编译即可cd redis命令:make命令:make instal(在编译make之后使用make instal再次编译)5.启动redis命令:redis-server后台启动命令:redis-server /usr/local/src/redis/redis.conf验证redis是否正常启动(端口号6379)命令:ps -ef | grep redis

第三步:配置redis的主从配置文件

修改redis主配置文件(172.16.16.40)#bind 127.0.0.0 这行注释掉就行才能实现不同机器之间的通信daemonize on 改为 yes 意思是开启后台运行logfile "/usr/sdb/redis/log/redis.log" 设置日志文件的路径可以自己新建一个(log目录来存放redis.log日志)masterauth “123456” 配置密码为123456requirepass “123456” 配置密码为123456修改redis从服务器(172.16.16.50)#bind 127.0.0.0 这行注释掉就行才能实现不同机器之间的通信daemonize on 改为 yes 意思是开启后台运行logfile "/usr/sdb/redis/log/redis.log" 设置日志文件的路径可以自己新建一个(log目录来存放redis.log日志)masterauth “123456” 配置密码为123456requirepass “123456” 配置密码为123456slaveof 172.16.16.40 6379 依赖的主机IP和端口号注意:redis主服务器和redis从服务器的密码要设置成一样,要不然后面的设置的哨兵就会有问题。

第四步:启动各节点的redis,看是否能实现通信

启动命令:redis-server /usr/local/src/redis/redis.conf连接客户端:redis-cli -c -h 172.16.16.40 -p 6379输入密码命令:auth + 你设置的密码

在这里插入图片描述

第五步:查看角色信息

命令:roleRedis主服务器

在这里插入图片描述

Redis从服务器

在这里插入图片描述

第六步:测试主从的通信

命令:set name 自定义名称(添加一个键值对)查看name命令:get nameRedis主服务器:

在这里插入图片描述

在redis从服务器上查看ky值
在这里插入图片描述
注意:无哨兵模式时可以使用命令:slaveof on one可以把备的redis服务器手动切换成为主模式

第七步:配置哨兵模式

1、修改redis目录下的sentinel.conf配置文件:Protectde-mode on 把这行打开,让哨兵通信Sentinel monitor mymaster 172.16.16.40(redis主服务器ip地址)6379 1Sentinel auth-pass mymaster 123456 这里是配置集群的密码logfile /usr/sdb/redis-4.0.5/logs/sentinel.log 日志文件配置2、启动redis哨兵命令:redis-sentinel sentinel.conf后台运行命令:redis-sentinel /usr/local/src/redis-4.0.5/sentinel.conf

在这里插入图片描述

3、测试是否可以主备切换先在redis主服务器上添加一条数据

在这里插入图片描述

在从redis服务器上查看该数据

在这里插入图片描述

现在让redis主服务挂掉,看redis从服务器是否能切换为master模式

在这里插入图片描述

查看sentinel日志文件
在这里插入图片描述
查看redis从服务状态
在这里插入图片描述
插入一条数据开启原先的redis主服务器看是否能同步
在这里插入图片描述
开启源redis主服务器(172.16.16.40)查看数据是否可以同步
在这里插入图片描述
主备切换成功数据可以同步redis哨兵模式配置完成

转载地址:http://agnihz.baihongyu.com/

你可能感兴趣的文章
Go语言学习Part4-1:方法和接口
查看>>
Leetcode Go 《精选TOP面试题》20200628 69.x的平方根
查看>>
Leetcode C++ 剑指 Offer 09. 用两个栈实现队列
查看>>
Leetcode C++《每日一题》20200707 112. 路径总和
查看>>
云原生 第十一章 应用健康
查看>>
Leetcode C++ 《第202场周赛》
查看>>
云原生 第十二章 可观测性:监控与日志
查看>>
Leetcode C++ 《第203场周赛》
查看>>
云原生 第十三章 Kubernetes网络概念及策略控制
查看>>
《redis设计与实现》 第一部分:数据结构与对象 || 读书笔记
查看>>
《redis设计与实现》 第二部分(第9-11章):单机数据库的实现
查看>>
算法工程师 面经2019年5月
查看>>
搜索架构师 一面面经2019年6月
查看>>
稻草人手记
查看>>
第一次kaggle比赛 回顾篇
查看>>
leetcode 50. Pow(x, n)
查看>>
leetcode 130. Surrounded Regions
查看>>
【托业】【全真题库】TEST2-语法题
查看>>
博客文格式优化
查看>>
【托业】【新托业全真模拟】疑难语法题知识点总结(01~05)
查看>>