Linux部署Redis集群

一、redis集群模式

  1. redis主从模式

  1. redis哨兵模式

  1. redis高可用集群

二、linux搭建redis集群

  1. 创建redis集群和节点目录

  1. 复制一份redis.conf配置文件到node8001目录进行编辑,其他的节点也是按照一样的步骤来配置

(1)修改端口

(2)修改绑定端口

(3)修改保护模式

(4)修改数据保存路径(默认保存在当前目录下)

(5)开启集群

可以根据实际情况设置集群超时时间

(6)修改appendonly参数

(7)设置密码

两个参数的密码是一致的

(8)开启后台运行

3、启动redis全部集群节点

启动命令 ./redis-server /usr/local/rediscluster/node8002/redis.conf

4、使用redis中的redis-cli创建集群

输入命令 ./redis-cli --cluster help 可查看创建相关命令帮助

输入命令 ./redis-cli -a fedcty126 --cluster create 192.168.200.100:8001 192.168.200.100:8002 192.168.200.100:8003 192.168.200.100:8004 192.168.200.100:8005 192.168.200.100:8006 --cluster-replicas 1

(1) -a fedcty126 //redis.conf配置文件中设置的授权密码

(2)--cluster create 192.168.200.100:8001 192.168.200.100:8002 192.168.200.100:8003 192.168.200.100:8004 192.168.200.100:8005 192.168.200.100:8006 //要创建的集群节点

(3)--cluster-replicas 1 //创建一主一从

输入yes代表同意redis分配的数据保存槽,输入后才开始创建集群

5、使用redis-cli测试集群是否部署成功

输入命令 ./redis-cli -a fedcty126 -c -p 8001 进入智能客户端,设置值可以自动跳转到对应的集群下面

cluster keyslot key //查看对应的key在哪个数据槽中

cluster slots //集群数据库槽的分布信息

cluster info //集群信息

6、哨兵集群搭建

1、新增哨兵集群目录

2、复制一份sentinel.conf配置文件到node26001目录中,并打开编辑一下参数,其他节点目录都是一样的步骤

#Sentinel使用端口

(1)port 26379

#打开非保护模式

protected-mode no

#守护线程启动(即后台启动)

(2)daemonize yes

#守护进程会使用到的一个文件

(3)pidfile "/var/run/redis-sentinel.pid"(可以不配置)

#指定日志文件名,默认为"",空字符串也可用于强制Sentinel登录标准输出,指定后我们可以通过tail -f xxx.log查看日志

(4)logfile "/usr/local/lib/redis-5.0.3/redis-sentinel.log"(可以不配置)

#每个长时间运行的进程都应该有一个明确定义的工作目录。对于Redis Sentinel来说,启动时dir到/tmp是最简单的事情为进程不干扰管理任务,如卸载文件系统。(默认就是"/tmp",copy过来即可)

(5)dir "/tmp"(可以不配置)

#重要的来了

#sentinel monitor <master-name> <ip> <redis-port> <quorum>

#告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效.需要注意的是master-ip 要写真实

的ip地址而不要用回环地址(127.0.0.1)。

(6)sentinel monitor master001 192.168.204.201 6379 2

         sentinel monitor master002 192.168.204.202 6379 2

         sentinel monitor master003 192.168.204.203 6379 2

#redis有设置授权密码的要设置授权密码

(7)sentinel auth-pass master003 fedcty126

         sentinel auth-pass master002 fedcty126

         sentinel auth-pass master001 fedcty126

#sentinel down-after-milliseconds <master-name> <milliseconds>

#这个配置项指定需要多少时间无响应,一个master才会被这个sentinel主观地认为是不可用的.单位是毫秒,默认为30秒(可以不配置)

(8)sentinel down-after-milliseconds master001 10000

         sentinel down-after-milliseconds master002 10000

         sentinel down-after-milliseconds master003 10000

#sentinel parallel-syncs <master-name> <numslaves>

#这个配置项指定了在发生failover主备切换时最多可以有多少个slave同时对新的master进行同步,这个数字越小,完成failover所需的时间就越长,但是如果这个数字越大,就意味着越 多的slave因为replication而不可用.可以通过将这个值设为1(默认就是1)来保证每次只有一个slave处于不能处理命令请求的状态(可以不配置)

(9)sentinel parallel-syncs master001 1

         sentinel parallel-syncs master002 1

         sentinel parallel-syncs master003 1

#sentinel failover-timeout <master-name> <milliseconds>

# failover过期时间,当failover开始后,在此时间内仍然没有触发任何failover操作,当前sentinel 将会认为此次failover失败,默认为3分钟,单位为毫秒(可以不配置)

(10)sentinel failover-timeout master001 180000

           sentinel failover-timeout master002 180000

           sentinel failover-timeout master003 180000

3、配置完成后启动哨兵

启动命令 ./redis-sentinel /usr/local/redissentinelcluster/node26001/sentinel.conf (其他节点也启动)

通过命令 ps -ef|grep redis 可查看哨兵节点启动是否成功

通过命令 ./redis-cli -a fedcty126 -p 26001 info Sentinel 查看哨兵集群是否成功

有问题和建议欢迎大家留言和评论,谢谢~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值