CentOS7简单几步实现Redis集群

2018-01-10 07:22:20 948 思小齐 思小齐

1. 工具 / 环境

  • 虚拟机环境:VMware Workstation 9.0

  • 操作系统:CentOS 7.0

  • 3台虚拟机IP:192.168.0.7、192.168.0.8、192.168.0.9
    (注:Redis集群要求至少要有三个节点)

2. 安装Redis

yum -y install gcc
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar zxf redis-3.2.8.tar.gz 
cd redis-3.2.8
make && make install

3. 配置节点

mkdir /etc/redis
cp redis.conf /etc/redis/6379.conf
vi /etc/redis/6379.conf

修改配置文件以下几项:
bind 192.168.0.7 # 本机ip
daemonize yes # 后台运行
cluster-enabled yes # 启用集群

(注:另外两台机器192.168.0.8、192.168.0.9也如此配置,建议直接使用虚拟机克隆)

4. 创建集群

启动各个Redis节点并关闭防火墙

redis-server /etc/redis/6379.conf
systemctl stop firewalld # 关闭防火墙

创建Redis集群需要借助一个Ruby脚本,先安装Ruby

yum -y install ruby rubygems
gem install redis # 安装Redis客户端for Ruby

创建Redis集群

src/redis-trib.rb create 192.168.0.7:6379 192.168.0.8:6379 192.168.0.9:6379


交互输入 yes 即可

5. 测试集群

启动Redis命令行模式

redis-cli -h 192.168.0.7 -c

输入命令进行测试,如下图:

可以看到,当执行Redis命令 set name jack 时,发生了节点重定向:192.168.0.7 -> 192.168.0.8,说明集群生效了!

6. 附:集群中的主从复制

为集群中的每个主节点创建一个从节点示例:
新建3个节点:192.168.0.10、192.168.0.11、192.168.0.12,创建集群命令改为:

src/redis-trib.rb create --replicas 1 192.168.0.7:6379 192.168.0.8:6379 192.168.0.9:6379 192.168.0.10:6379 192.168.0.11:6379 192.168.0.12:6379

OK,就这么简单!
(注:选项 --replicas 1 表示为集群中的每个主节点创建一个从节点)

相关文档:Redis 集群教程[中文]Redis cluster tutorial[English]