介绍

集群搭建至少需要6个节点,其中3个为主节点,剩下3个为从节点。但如果在一台电脑上开 6 台虚拟机会比较卡。所以本章教程介绍在 1台虚拟机上使用6个端口来代表不同的节点。
这6个端口分别是 7000~7005

安装集群依赖

  1. yum install -y ruby rubygems
  2. gem install redis-3.2.1.gem

集群配置文件

在 /root 目录下 创建 cluster 文件夹

  1. cd /root/
  2. mkdir cluster

在 cluster 文件夹内再创建 6个文件夹用于存放 集群配置文件

  1. cd cluster/
  2. mkdir 7000 7001 7002 7003 7004 7005 7006

从redis 源码中拷贝 一份干净的redis配置文件 到上一步创建好的文件夹中

  1. cp /data/redis-4.0.11/redis.conf 7000
  2. cp /data/redis-4.0.11/redis.conf 7001
  3. cp /data/redis-4.0.11/redis.conf 7002
  4. cp /data/redis-4.0.11/redis.conf 7003
  5. cp /data/redis-4.0.11/redis.conf 7004
  6. cp /data/redis-4.0.11/redis.conf 7005
  7. cp /data/redis-4.0.11/redis.conf 7006

分别编辑拷贝过来的 redis.conf 文件

拿 7000 举例

  1. cd 7000/
  2. vim redis.conf

修改内容:

  1. port 7000 //修改端口
  2. bind 0.0.0.0 //开启远程连接
  3. daemonize yes // 后台运行
  4. cluster-enabled yes /开启集群模式
  5. cluster-config-file nodes-7000.conf //集群节点配置文件
  6. cluster-node-timeout 5000 //集群节点超时时间
  7. appendonly yes //开启AOF持久化

后面7001~7005 的 redis.conf 文件参考7000的来改,只是端口不同而已

启动实例

切换到 redis 的bin 目录

cd /usr/local/redis/bin/

启动 6个 redis 实例

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

查看实例的启动情况:

ps -ef | grep redis

Redis集群环境搭建 - 图1

创建集群

从源码中拷贝集群脚本,到 redis 安装目录的 bin 目录中

[root@localhost bin]# pwd
/usr/local/redis/bin
[root@localhost bin]# 
[root@localhost bin]# cp /data/redis-4.0.11/src/redis-trib.rb .

创建集群

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

Redis集群环境搭建 - 图2

测试

使用 redis 自带的客户端工具 redis-cli 来进行测试

./redis-cli -c -p 7000

注意:这里连接的是集群,所有要加上 -c。 后面 -p 7000 也可以换成其他节点。
Redis集群环境搭建 - 图3
从上图我们可以看出,虽然我们连接的是 7000的节点,但是我们 放数据的时候,不一定就是 7000的节点,也有可能是其他节点