redis cluster搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis cluster搭建相关的知识,希望对你有一定的参考价值。

redis cluster 是 redis 官方一个高可用解决方案,cluster 中 redis 共有 2^14 (16384)个slot 槽。创建 cluster 后会平均分配到每个 redis 上。cluster 可以对标 分片机制。

这里介绍为本机启动6个redis集群服务,并使用 redis-trib.rb 创建 3主3从的 cluster 。

 

环境准备

六台服务器: CentOS7 x64(如只是做实验可在同一台机器上部署6个redis实例,使用不同端口运行)

安装包: redis-3.2.11.tar.gz(需要版本3.0以上,安装目录/data/redis)

 

服务器规划

192.168.226.200

192.168.226.201

192.168.226.202

192.168.226.203

192.168.226.204

192.168.226.205

redis

redis

redis

redis

redis

redis

 

1)安装redis实例

tar xf redis-3.2.11.tar.gz -C /tmpcd /tmp/redis-3.2.11makemake PREFIX=/data/redis install?

 

2)6个redis实例的配置文件redis.conf (bindip改成对应IP)

  1. port 26692

  2. pidfile /data/redis/redis.pid 

  3. dbfilename dump.rdb 

  4. appendfilename "appendonly.aof" 

  5. cluster-config-file nodes.conf 

  6. cluster-enabled yes 

  7. cluster-node-timeout 5000 

  8. appendonly yes

  9. daemonize yes

  10. loglevel notice

  11. logfile "/data /redis/log/redis.log"

  12. dir /data/redis

  13. bind 192.168.226.200

  14. #masterauth hxxx18

  15. #requirepass hxxx18?


3)启动6个redis实例(redis启动后会监听两个端口,默认是6379和16379(1000+6379))

redis-server /data/redis/redis.conf?

 

4)redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。因为 redis-trib.rb 是由ruby语言编写的,所以使用该工具需要ruby语言环境的支持。

  1. yum install ruby

  2. yum install rubygems

  3. gem source --remove https://rubygems.org/;gem source -a https://gems.ruby-china.org

  4. gem install redis --version 3.2.2

  5. ruby -v

  6. cp -rf /tmp/redis-3.2.11/src/redis-trib.rb /data/redis/bin/?


5)构建cluster(注意:redis cluster只能使用一个database   即SELECT 0)

/data/redis/bin/redis-trib.rb create --replicas 1 192.168.226.200:26992 192.168.226.201:26992 192.168.226.202:26992 192.168.226.203:26992 192.168.226.204:26992 192.168.226.205:26992?

--replicas 1 表示我们希望为集群中的每个主节点创建一个从节点,由于redis的集群最少需要3个主节点,如果我们每个主节点需要一个从节点,那么最少需要6台机器(或者说6个实例)

 

6)查看cluster状态

 

7)登陆cluster (-c参数)

redis-cli -c –p 26992?

 

8)cluster建立好后,配置文件添加masterauth和requirepass,重启所有redis实例,即开启认证加强安全性

 

9)准备启动脚本并加入开机自启

 

10)扩容,cluster添加一个新的主从节点

redis-trib.rb add-node 192.168.226.208:7006 192.168.226.209:7006?


以上是关于redis cluster搭建的主要内容,如果未能解决你的问题,请参考以下文章

redis cluster 集群搭建

搭建redis-cluster环境

redis cluster搭建

redis集群与分片-Redis Cluster集群的搭建与实践

docker搭建redis-cluster

docker搭建redis-cluster