redis 安装 主从同步 哨兵模式
一.redis 的安装
1.先将安装包放到linux的一个文件夹下面
2.解压压缩包如图所示

3.解压后进入解压文件
4.安装: make 出现it.s a good idea to run 'make test'则表示安装成功
如下图:


5.修改redis.config文件
a)因为我们要在外网使用 需要将绑定的本机给注释掉 并且在redis3.2之后新增了protected-mode配置,默认是yes, 我们这里还要将他改成no
详情参考这里http://blog.csdn.net/sukexiaozi/article/details/52022449


b)保护进程 后台启动redis 将daemonize设置为yes

c)在这里我修改一下端口号 以便对后面的哨兵和主从同步进行配置 这里我把端口号改成6360

然后启动redis
./src/redis-server ./redis.conf
然后查看进程

入上图 redis 6360端口起启动了
然后本地测试:./src/redis-cli -h localhost -p 6360
-h 是连接的主机ip,host的缩写,-p 是端口 port的缩写 ,-a 后面是密码(requirepass 后面配置的)auth的缩写 (这里我们没有设置密码所以不用输入)
如下图就是成功了 并且存值 123 为haha 123 位键 haha为值


然后外网测试:可以在另外一台机器上安装上redis通过redis-cli来连接 也可以通过工具连接测试比如RedisDesktopManager
因为我本地安装了redis所以直接在本地连接服务器上的redis来测试结果如下:

这样redis就安装完毕。
二.主从同步
当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。
准备三个redis服务,依次命名文件夹子6360,6361,6362,我们这里是一主两从 主为master从为slave master的使用6360端口。
并在同级目录下创建bin目录留作备用
结构如下:

接下来配置redis.config
master为6360和刚才的配置一样
slave1修改配置
port 6361
slaveof 127.0.0.1 6360
masterauth 123456 (这里是master的密码 如果没有设置则不写)
requirepass 123456(这里是slave1的密码 如果没有设置则不写)
slave2修改配置
port 6362
slaveof 127.0.0.1 6360
masterauth 123456 (这里是master的密码 如果没有设置则不写)
requirepass 123456(这里是slave2的密码 如果没有设置则不写)
将各个配置文件放到对应的文件夹下面 并将下面这些文件复制到刚才创建的bin目录下
redis-benchmark redis性能测试工具 (src目录下)
redis-check-aof aof文件修复程序(src目录下)
redis-check-rdb RDB文件检查工具(src目录下)
redis-cli redis客户端(src目录下)
redis-sentinel redis集群(这个是2.8新增的功能,具体的再进一步摸索)
redis-server redis服务器 (src目录下)
启动三个redis
./bin/redis-server ./6360/redis6360.conf
./bin/redis-server ./6361/redis6361.conf
./bin/redis-server ./6362/redis6362.conf
测试方法就是连上 master的存储一个值然后再连接上salve的获取这个值能获取则表示成功
从机能同步主机的值,主从复制,读写分离就实现了
但是万一主机挂了怎么办,这是个麻烦事情,所以redis提供了一个sentinel(哨兵),以此来实现主从切换的功能,类似与zookeeper.
三.哨兵模式
我们配置三个sentinel进程:
port 26360
sentinel monitor mymaster 127.0.0.1 6360 2 (这里是代表主机是 本地ip的6360端口 这个后面的数字2,是指当有两个及以上的sentinel服务检测到master宕机,才会去执行主从切换的功能)
port 26361
sentinel monitor mymaster 127.0.0.1 6360 2
port 26362
sentinel monitor mymaster 127.0.0.1 6360 2
将三个sentinel.config分别放到不同的文件夹下
启动sentinel服务
./bin/redis-sentinel ./6360/sentinel-6360.conf
./bin/redis-sentinel ./6361/sentinel-6361.conf
./bin/redis-sentinel ./6362/sentinel-6362.conf
结果如图:

测试方法 把6360端口的redis杀了 然后分别连接redis6361 和redis6362 看看哪个能够存储进去值 则哪个变成了master 也表明哨兵成功了
因为只要主机可以写 从机只能读。
注意:
以上的这些 只涉及到 主从同步,和哨兵 这两点 ,这和集群的概念不同。
redis主从:是备份关系, 我们操作主库,数据也会同步到从库。 如果主库机器坏了,从库可以上。就好比你 D盘的片丢了,但是你移动硬盘里边备份有。
redis哨兵:哨兵保证的是HA,保证特殊情况故障自动切换,哨兵盯着你的“redis主从集群”,如果主库死了,它会告诉你新的老大是谁。
redis集群:集群保证的是高并发,因为多了一些兄弟帮忙一起扛。同时集群会导致数据的分散,整个redis集群会分成一堆数据槽,即不同的key会放到不不同的槽中
---------------------
作者:zmemorys
来源:CSDN
原文:https://blog.csdn.net/zmemorys/article/details/78196314
版权声明:本文为博主原创文章,转载请附上博文链接!
redis 安装 主从同步 哨兵模式的更多相关文章
- redis 主从同步&哨兵模式&codis
主从同步 1.CPA原理 1. CPA原理是分布式存储理论的基石: C(一致性): A(可用性): P(分区容忍性); 2. 当主从网络无法连通时,修改操作无法同步到节点,所以“一致性”无法满足 ...
- Redis的主从架构+哨兵模式
Redis主从架构 redis主从架构搭建,配置从节点步骤: 1.复制一份redis.conf文件的目录 cd /usr/local/java cp -a redis redis_6380 2.将相关 ...
- docker toolbox的redis 配置主从及哨兵模式保证高可用
redis 的缓存中间件安装方法,简单举例如下: 环境: docker toolbox 一 主从模式1 搜索redis镜像 docker search redis2 拉取镜像docker pul ...
- Redis 主从同步+哨兵
简介 通过使用 Redis 自带“主从同步+哨兵守护”功能提高Redis稳定性. 主从同步:保障数据主从数据实时同步. 哨兵:实时监控主redis如果故障,将从redis作为主使用. 环境: 系统:C ...
- Redis 高可用之哨兵模式
参考 : https://mp.weixin.qq.com/s/Z-PyNgiqYrm0ZYg0r6MVeQ 一.redis高可用解决方案 redis主从 优点:1.高可靠性,主从实时备份,有效解 ...
- Redis高可用之哨兵模式Sentinel配置与启动(五)
0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...
- Redis的主从同步复制
先来看一下Redis的主从同步复制的原理: 在Slave启动并连接到Master之后,它将主动发送一条SYNC命令.此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台 ...
- Redis 的主从同步(复制)
Redis 的主从同步(复制) Redis 的主从同步(复制) 什么是主从同步(复制) 假设有两个 redis 实例 ⇒ A 和 B B 实例的内容与 A 实例的内容保持同步 那么称 A 实例是主数据 ...
- Redis学习之路(三)之Redis主从和哨兵模式
目录 一.Redis主从配置 1.环境说明 2.修改主从的redis配置文件 3.启动主从redis 3.数据同步验证 二.Redis哨兵模式 1.Redis sentinel介绍 2.Redis S ...
随机推荐
- Android快捷键大全
参考来源:https://mp.weixin.qq.com/s/T809p17Wt8XHkbLwcQf9ow 1,Ctrl + J 快捷代码列表 2,Ctrl+Alt+O 这个快捷键可以自动导包或删 ...
- limux密钥对配置登陆主机
1. Linux主机免密码使用密钥登陆 这里假设主机A(192.168.0.113)用来远程连接主机B(192.168.0.186) 在主机A上执行如下命令来生成配对密钥:ssh-keygen -t ...
- RabbitMQ入门教程(十三):虚拟主机vhost与权限管理
原文:RabbitMQ入门教程(十三):虚拟主机vhost与权限管理 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...
- 集群中Session共享解决方案分析
一.为什么要Session共享 Session存储在服务器的内存中,比如Java中,Session存放在JVM的中,Session也可以持久化到file,MySQL,redis等,SessionID存 ...
- TCP的.cc文件代码解释(中文)
#ifndef lint static const char rcsid[] = "@(#) $Header: /nfs/jade/vint/CVSROOT/ns-2/tcp/tcp ...
- 基于AliOS的车载小程序
4月16日上海国际车展首日,阿里巴巴表示正在研发基于AliOS的车载小程序.同时还展出AI HUD.AI驾驶舱等最新技术,AliOS表示正在构建一个可持续发展的整合平台. 阿里方面表示,作为小程序在车 ...
- samba服务及vsftpd服务
如何配置多个网卡 第一步: 打开设置,选择网络驱动器添加 第二步: ip a 查看网卡是否添加成功 第三步: 打开刚添加的网卡配置文件(注意,你刚添加的网卡是没有配置文件的,需要去复制一份到/etc/ ...
- 隐马尔可夫模型的前向算法(java实现),今天奉上
隐马尔可夫模型的前向算法(手动实现),今天奉上,由于研究生期间,实现的时候没有多加注释,这里为了让更好的人进入自然语言处理领域,特此,将前向算法奉上,具体公式可参考52nlp的HMN系列博客. 参考了 ...
- 清北学堂清华大学钟皓曦神仙讲课day3摘要
---恢复内容开始--- 今天全是DP awsl,真的好难 先从斐波那契开始: dp:满足有一个状态边界条件(f[0]=0,f[1]=1) 边界条件:不需要计算其他状态的值而可以直接得出的状态或者最底 ...
- windows环境下 RabbitMQ 安装时创建用户流程命令
https://blog.csdn.net/xiaojieblog/article/details/70332469