redis3.0集群搭建
Posted lollong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis3.0集群搭建相关的知识,希望对你有一定的参考价值。
参考:https://blog.csdn.net/qq_42815754/article/details/82912130
一.redis基本配置
1.安装并启动六个redis
启动需要用./redis-server ../redis.conf 的方式启动才会采用配置文件
2.修改redis.conf中的:
daemonize yes
表示以后台模式启动
cluster-enabled yes
表示开启集群模式
protected-mode no
表示关闭保护模式
bind 0.0.0.0
这里修改为0.0.0.0表示所有ip都可以访问这个redis
二.集群简介
1.redis集群是去中心化的,没有中心节点
2.redis节点内部通信采用 PING-PONG机制,也就是在redis客户端输入PING发送给服务端,如果服务端还活着就会回复一个PONG,以此来判断节点是
否还在正常工作.
3.判断节点是否还可用,redis集群有一个投票容错机制,只有超半数节点认为某个节点不可用,集群才会认为这个节点不可用
4.为保证redis集群高可用,每个redis节点都要配一个从redis,主从之间采用Goossip协议实现异步复制,redis集群不能保证数据强一致
5.如果集群中一个节点失效了,而且没有从节点可用,那么这个集群就失效了,因为redis采用的是数据分区中的按数据范围分区的方式,其他
常见数据分区方式还有哈希取余,按数据量,一致性哈希等。按范围分区的方式解决了在增删节点的时候缓存集体失效的问题。具体实现就是
把16384个slot分布到各个节点上,对要存的数据的key用crc16算法计算,得出结果再对16384取余,这样来确定要存储到哪个节点上。
三.开启集群
1.开启集群可以使用官方自带的ruby脚本,因为是ruby语言,所以需要先安装ruby环境,如果直接用yum install ruby则安装的ruby版本是很低的,而
我们这脚本是需要比较高的ruby版本所以用如下方法安装
更换yum源来安装
yum install centos-release-scl-rh //安装源
yum install rh-ruby23 -y //直接yum安装即可
scl enable rh-ruby23 bash //使用rh-rubu23创建一个bash会话环境
ruby -v //查看安装版本
2.之后我们还需要安装一个ruby插件https://rubygems.org/gems/redis/versions/3.0.0
根据redis版本下载,之后使用gem install redis-3.0.0.gem命令安装下载的插件
安装完成后就可以正式启动集群了,redis自带的rubu脚本在redis的src目录下,使用如下命令开启集群,前三个是主节点,后三个是从节点,
create --replicas 1代表从节点只有一个
./redis-trib.rb create --replicas 1 47.106.219.251:7001 47.106.219.251:7002 47.106.219.251:7003 47.106.219.251:7004 47.106.219.251:7005 47.106.219.251:7006
3.最基本集群命令
1.redis-cli -c -p 6382 -h 192.168.10.12 以集群模式连接redis
2.cluster info 查看集群信息
3.cluster nodes 查看集群节点
4.cluster meet <ip> <port> 添加节点到集群中
5.cluster forget <node_id> :从集群中移除 node_id 指定的节点,其中node_id就是hash值
以上是关于redis3.0集群搭建的主要内容,如果未能解决你的问题,请参考以下文章