在云主机上部署Redis集群

1,安装redis

wget http://download.redis.io/releases/redis-4.0.0.tar.gz    下载安装包,4.0.0版本的
tar -xvf redis-4.0.0.tar.gz    解压
cd redis-4.0.0   进入文件夹
make install    编译并安装,默认安装在redis-4.0.0/src目录下

2,修改redis配置文件

vim redis.config 
将daemonize 改为yes,可以在后台运行
将bing 127.0.0.1注释
将protectmode改为no 否则不能在远程访问

3,以配置文件的方式启动redis

redis-server /root/redis-4.0.0/redis.conf 

 4,将配置文件拷贝2份,用于启动另外两个实例,作为从主机

cp redis.config redis_1.config
cp redis.config redis_2.config
并修改两个拷贝副本的port
加上slaveof 主节点ip 端口 绑定主节点

5,分别用两个配置文件启动两个实例

redis-server /root/redis-4.0.0/redis_1.config 
redis-server /root/redis-4.0.0/redis_2.config 

[root@iZ8vb5css44dyu3rxq22isZ src]# ps -ef|grep redis    查看进程,启动成功
root     18261 18238  0 10:16 pts/0    00:00:00 redis-cli
root     18320     1  0 10:29 ?        00:00:01 redis-server *:6379
root     18506     1  0 11:24 ?        00:00:00 redis-server *:6380
root     18512     1  0 11:25 ?        00:00:00 redis-server *:6381
root     18517 18427  0 11:25 pts/1    00:00:00 grep --color=auto redis

至此,主从复制结构就已经搭建好了。可以让多个主机分担访问压力。但并不是高可用的。

6,实现高可用,哨兵机制。

sentinel在redis的安装包中就有了,我们需要修改sentinel.config配置文件

添加以下内容,如有默认的相同配置,注释掉即可


bind 0.0.0.0    #外网可以访问
sentinel monitor mymaster 39.101.191.209 6379 1  #为主节点起别名mymaster,绑定端口,最后的1为判断主节点是否失效需要几个sentinel同意,现在只有一个哨兵,就为1
sentinel down-after-milliseconds mymaster 10000   #sentiinel判断节点下线的延时时间
sentinel failover-timeout mymaster 60000    #设置故障转移的过期时间,过期故障转移失败。
sentinel parallel-syncs mymaster 1    #进行故障转移时,最多可以有多少个从服务器同时从新的主服务器同步数据,数字越小,同时同步的从服务器越少,故障转移的>时间就越长。

7,使用配置开启哨兵进程

redis-sentinel /root/redis-4.0.0/sentinel_1.conf 

至此,哨兵机制就搭建完成了,后续可以通过多个节点测试哨兵机制是否达到理想效果。

posted @ 2020-04-19 21:44  codeFlyer  阅读(347)  评论(0编辑  收藏  举报