redis-cluster集群搭建

redis-cluster集群

特点:

实现了redis分布式存储

Redis-Cluster采用无中心结构:

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

  • 节点的fail是通过集群中超过半数的节点检测失效时才生效。

  • 客户端与redis节点直连,不需要中间代理层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。

工作方式:

在redis的每一个节点上,都有这么两个东西,一个是插槽(slot),它的的取值范围是:0-16383。还有一个就是cluster,可以理解为是一个集群管理的插件。当我们的存取的key到达的时候,redis会根据crc16的算法得出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。

为了保证高可用,redis-cluster集群引入了主从模式,一个主节点对应一个或者多个从节点,当主节点宕机的时候,就会启用从节点。当其它主节点ping一个主节点A时,如果半数以上的主节点与A通信超时,那么认为主节点A宕机了。如果主节点A和它的从节点A1都宕机了,那么该集群就无法再提供服务了。

详细资料

 


搭建

模拟3主3从

创建cluster目录,并创建6个配置文件

port 7000 //端口7000,7002,7003..
daemonize yes //redis后台运行
pidfile ./redis_7000.pid //pidfile文件对应7000,7001,7002
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7000,7001,7002
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志

//若设置密码,master和slave需同时配置下面两个参数:
masterauth "12345678"    //连接master的密码
requirepass "12345678"    //自己的密码

启动所有redis实例

  • 创建启动文件:vi start-all.sh
  • 赋予权限:chmod u+x start-all.sh
  • 启动:./start-all.sh
echo "Starting Redis-Cluster"

./src/redis-server ./cluster/redis-7000.conf
./src/redis-server ./cluster/redis-7001.conf
./src/redis-server ./cluster/redis-7002.conf
./src/redis-server ./cluster/redis-7003.conf
./src/redis-server ./cluster/redis-7004.conf
./src/redis-server ./cluster/redis-7005.conf


echo "successed!"

 

更新ruby版本到最新,如无安装则到官网下载最新源码包

编译并安装:

./configure
make
sudo make install

进入redis/bin运行:

./redis-trib.rb create --replicas 1 192.168.0.217:7000 192.168.0.217:7001 192.168.0.217:7002 192.168.0.217:7003 192.168.0.217:7004 192.168.0.217:7005

连接redis-cluster:

redis-cli -c -p 7000

附:动态添加集群节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值