简言

1. redis5.0版本以前的集群部署是使用ruby脚本完成的,略为复杂,具体示例见笔者的这篇博客,​​ubuntu16 redis5.0以前版本集群部署示例_YZF_Kevin的博客

2. 本篇博客讲解redis5.0版本以后的集群部署,由于集成到了create_cluster中(位置:redis根目录/utils/create-cluster/create-cluster),更简单,几条简单的命令即可部署一个简单版的集群

3. 如果您在参考本片博客进行操作时遇到了其他未知问题,请参考笔者的这篇博客,centos版本的redis5.0以后集群搭建

​​centos7 redis5.0以前版本 集群部署示例 - 第一篇_YZF_Kevin的博客

4. 需先安装redis才能部署集群,ubuntu安装redis请参考这边博客 ​​ubuntu安装redis 详细步骤_YZF_Kevin的博客

版本

redis版本:5.0.7,如果你没有可以到我的百度网盘进行下载,地址:https://pan.baidu.com/s/1RHL1B3N8Q_jnahgFLAlj0Q

系统:ubuntu 16.04 64位

架构

开启6个独立的redis服务器,然后使用redis-cluster命令把它们连接起来,自动帮我们分配好6个节点的主从关系

具体步骤

1. 在目录 /usr/local下新建一个文件夹 redis-cluster-5.0.7,该目录用来存放我们所有的redis节点示例

2. 在新建的目录redis-cluster-5.0.7 中创建一个文件夹 redis01,这个目录用来存放redis示例节点1的文件

3. 在新建的目录 redis01 中放入以下文件,如下图,注意这些文件原来的位置,这是笔者安装redis5.0.7的目录,都是redis5.0.7编译出来的

    redis-benchmark        原位置:     /usr/local/redis/redis-5.0.7/src/

    redis-check-aof          原位置:      /usr/local/redis/redis-5.0.7/src/

    redis-check-rdb          原位置:      /usr/local/redis/redis-5.0.7/src/

    redis-cli                      原位置:      /usr/local/redis/redis-5.0.7/src/

    redis.conf                   原位置:      /usr/local/redis/redis-5.0.7/

    redis-server                原位置:      /usr/local/redis/redis-5.0.7/src

    redis-sentinel            我们自建的软连接,即命令 ln -s redis-server redis-sentinel

4. 修改文件 redis01/redis.conf,修改redis.conf完毕后,记得保存。具体修改如下:

    4.1 绑定的IP地址,改为本机的局域网IP,bind属性,比如笔者的测试机器IP是 192.168.130.113,如下图

    

ubuntu16 redis5.0以后版本集群部署示例_安装redis集群

    4.2 保护模式关掉,protected-mode属性,默认yes,改为no;绑定的端口号,port属性, 默认是6379,改为9001;,如下图

    

ubuntu16 redis5.0以后版本集群部署示例_安装redis集群_02

    4.3 打开集群模式,即cluster-enabled 属性设置为yes,如下图

    

ubuntu16 redis5.0以后版本集群部署示例_集群部署_03

5. 把文件夹redis01目录,复制在同目录下,即redis-cluster-5.0.7目录下,分别命名redis02, redis03, redis04, redis05, redis06,这便是我们的6个redis节点,如下图

ubuntu16 redis5.0以后版本集群部署示例_redis_04

6. 重复步骤4的修改,把里面的redis.conf文件里面的绑定端口依次改为9002,9003,9004,9005,9006

7. 启动这6个redis节点,一个一个启动太麻烦了,我们做个批处理,start_all.sh,文件内容如下

cd redis01
./redis-server redis.conf &
cd ..
cd redis02
./redis-server redis.conf &
cd ..
cd redis03
./redis-server redis.conf &
cd ..
cd redis04
./redis-server redis.conf &
cd ..
cd redis05
./redis-server redis.conf &
cd ..
cd redis06
./redis-server redis.conf &
cd ..
8. 启动脚本bash start_all.sh,我们运行命令 ps axu | grep redis 查看下redis进程,如下图所示

ubuntu16 redis5.0以后版本集群部署示例_IP_05

9. 至此我们开启来了6个redis节点,以集群模式(cluster模式)开启的,但是还未连成集群

10. 搭建集群,进入redis01目录,运行命令 ./redis-cli --cluster create 192.168.130.113:9001 192.168.130.113:9002 192.168.130.113:9003 192.168.130.113:9004 192.168.130.113:9005 192.168.130.113:9006 --cluster-replicas 1

中途有个询问,问你是不是满意这种自动分配;如果你不满意,输入no,它就退出了,什么都不做,哈哈哈哈

ubuntu16 redis5.0以后版本集群部署示例_集群部署_06

15. 还是上面的命令,询问时,输入yes即可成功部署

ubuntu16 redis5.0以后版本集群部署示例_安装redis集群_07