redis集群搭建(6节点单实例)

1:分布式缓存的搭建:

redis集群搭建(6节点单实例)

地址与服务器规划:

Master1:192.168.232.128                        slaver1:192.168.232.131

Master2:192.168.232.129                         slaver2:192.168.232.132

Master3:192.168.232.133                         slaver3:192.168.232.130

架构细节:

(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot,cluster 负责维护node<->slot<->value

Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

Redis的持久化策略有两种:

Rdb与aof:rdb存储的是数据的快照,aof存储的是指令的集合。

 


1:下载redis的linux系统安装包,并上传到linux服务器192.168.232.128。

2:  解压redis的安装包

redis集群搭建(6节点单实例)

3: 进入redis的目录

redis集群搭建(6节点单实例)

4 执行make 对redis源码进行编译

redis集群搭建(6节点单实例)

5 make install PREFIX=/usr/local/redis

redis集群搭建(6节点单实例)

6 拷贝redis.conf文件到安装目录redis/bin下

redis集群搭建(6节点单实例)

7:到/usr/local/redis/bin下的redis.conf文件,修改如下配置

redis集群搭建(6节点单实例)

8:打开集群配置

redis集群搭建(6节点单实例)

9启动redis服务

redis集群搭建(6节点单实例)

10:./redis-cli测试redis安装完成

redis集群搭建(6节点单实例)

此时在192.168.232.128:6379上我们已经把redis安装完成了。

步骤同上分别在

192.168.232.129:6379

192.168.232.130:6379

192.168.232.131:6379

192.168.232.132:6379

192.168.232.133:6379

下面安装redis,并做测试。

10:在其中一台服务器上传脚本.gem

redis集群搭建(6节点单实例)

11:安装ruby脚本

redis集群搭建(6节点单实例)

12:安装ruby脚本。

redis集群搭建(6节点单实例)

13:安装redis依赖运行的包

redis集群搭建(6节点单实例)

14:重新启动所有的redis实例

15:拷贝

到redis/bin下面并且赋予可执行权限。

15: 在装有ruby的主机上执行脚本:

./redis-trib.rb create --replicas 1192.168.232.128:6379 192.168.232.129:6379 192.168.232.130:6379  192.168.232.131:6379  192.168.232.132:6379  192.168.232.133:6379

16:

redis集群搭建(6节点单实例)

常见问题:

Either the node already knows other nodes (check withCLUSTER NODES) or contains some key in database

 

解决办法:

1)将每个节点下aofrdbnodes.conf本地备份文件删除;
2)172.168.63.201:7001> flushdb #
清空当前数据库(可省略)
3)
之后再执行脚本,成功执行;

 

节点不是集群节点:

 

解决办法:

1.  ping 看能不能ping通

2.  关闭防火墙

3.  redis.conf里cluser配置是否打开.

redis集群搭建(6节点单实例)

解决办法

redis集群搭建(6节点单实例)