在linux系统中操作redis主从复制和哨兵模式
搭建环境redis环境
首先创建三个redis的配置
修改三个redis的配置端口
5版本的这个要注释点,不然只能本机连接
5的版本要修改peotected-mode 改为no 网络不保护
port 6379根据创建的修改
把daemonlize改为yes 然后才可以后台启动
修改其中2个从redis的配置 跟主配置一样只是要让从认一个主
这样配置就完成了,接下来就测试配置成功没?
开启三个新建终端 把三个redis后台都启动 按照这种方式
先进入到bin里面然后启动redis-cli里面
接下来就是神奇的地方了
我们创建一个key 和value值 这个是在主redis里面 也是端口是6379里面
然后我们去到从配置里面看看能不能读取到name的值
这样我们就读到了主redis里面name的值“zhangsan”
注意点:主配置可以写可以读 但是从redis里面只能读不能写
哨兵模式的配置
找到你的配置文件redis5.0版本里面的sentinel.conf文件 把他
我是redis安装到root/myapps下面的 主从复制也是在root/myapps下面操作的
我们把sentinel.conf用linux命名把他复制到root/myapps目录下,面
然后进去到root/myapps下面就能看到我们复制的sentinel26385.conf
2.配置sentinel.conf文件 我在这准备好了三个79 80 81 把刚刚复制过来的85再复制2个出来就可以了,我就拿79 80 81 给做实验 把85删了
用vim 命令进入到wentinel.conf文件
- 1.我们要选取一个作为主redis的sentinel.conf 我在这里选取80为主redis配置文件
- 我们首先要改每个wentinel.conf的端口 就按照文件名字的端口配置
- 79的端口配置
这个是把谁看成主redis的sentinel.conf
80端口配置 80我们是主redis的配置
81端口的配置 81跟79都是一样的配置改下端口号就可以其他不变 - 3.配置完成 接下来测试
- 开启3个新端口 把三个redis都后台启动起来
-
再创建三个端口去启动sentinel.conf
三个都要启动 启动完成之后 我们可以看到谁是主谁是从
然后我们就要见证奇迹了我们去把主redis给停止掉,看他是不是会选择一个新的主redis
我们用ps -ef |grep redis可以查看启动的进程 一共6个 主进程是6380
我们可以用kill命令把主进程销毁掉或者停止 然后就可以看到主进程没有了
我们可以打开我们启动的79或者81个sentenel.conf其中一个可以看到有提示
这一句话就是把端口为6380主redis转让给了端口为6381的 我们也可以用info replication去查看
在这里我们可以看到6379这个端口已经人6381为主配置了
假设:然后我们去启动6380那个端口 然后他也会自动人6381为主配置,不会说启动之后还是主配置
6380重新启动认6381为主配置 如果启动不了就加上端口号在后面
我们可以看到6380重新启动已经是从配置了 而6381依旧是主 这就是哨兵的好处 验证了上面我的假设
补充:后台和前台启动两种方式