由于Redis集群至少需要6个节点(3主3从模式),资源有限本次以单台机器为例:
1.redis安装
redis集群的创建是基于已安装好redis的机器上,具体安装请见,redis3.x 源码安装
2.目录创建
我们计划集群中 Redis 节点的端口号为 9001-9006 ,端口号即集群下各实例文件夹。数据存放在 端口号/data
文件夹内
# mkdir /home/hzh/redis-cluster
# cd /home/hzh/redis-cluster
# mkdir 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data
3.复制执行脚本 如上创建bin目录,将已安装好的redis/src 下的运行脚本拷贝过来,命令如下:
# mkdir redis-cluster/bin
# cd /usr/local/redis/src
# cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /home/hzh/redis-cluster/bin
4.复制已经安装好的redis路径下所有文件至9001
# cp -r /usr/local/redis-3.2.1/* /home/hzh/redis-cluster/9001/
*注 redis.conf 修改 cluster配置为重点
port 9001(每个节点的端口号)
daemonize yes
bind 192.168.119.131(绑定当前机器 IP)
dir /usr/local/redis-cluster/9001/data/(数据文件存放位置)
pidfile /var/run/redis_9001.pid(pid 9001和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes9001.conf(9001和port要对应)
cluster-node-timeout 15000
appendonly yes
5.再复制出5个实例
已经完成了一个节点了,再完成另外五个节点,修改相应端口 redis.conf 配置
# cp -r 9001/* ./9002/
# cp -r 9001/* ./9003/
# cp -r 9001/* ./9004/
# cp -r 9001/* ./9005/
# cp -r 9001/* ./9006/
# sed -i 's/9001/9002/g' ./9002/redis.conf
# sed -i 's/9001/9003/g' ./9003/redis.conf
# sed -i 's/9001/9004/g' ./9004/redis.conf
# sed -i 's/9001/9005/g' ./9005/redis.conf
# sed -i 's/9001/9006/g' ./9006/redis.conf
6.启动 9001-9006 六个节点
# /home/hzh/redis-cluster/bin/redis-server /home/hzh/redis-cluster/9001/redis.conf
# /home/hzh/redis-cluster/bin/redis-server /home/hzh/redis-cluster/9002/redis.conf
# /home/hzh/redis-cluster/bin/redis-server /home/hzh/redis-cluster/9003/redis.conf
# /home/hzh/redis-cluster/bin/redis-server /home/hzh/redis-cluster/9004/redis.conf
# /home/hzh/redis-cluster/bin/redis-server /home/hzh/redis-cluster/9005/redis.conf
# /home/hzh/redis-cluster/bin/redis-server /home/hzh/redis-cluster/9006/redis.conf
查看是否启动成功
# ps aux | grep redis
可以看到,启动成功
到此,架子已经搭好了,开始创建集群
7.安装集群所需软件
# yum install ruby
# yum install rubygems
# gem install redis
如遇到以上Error,这个错误,是因为ruby版本太低,需要升级,采用下面的方式可以完成:
解决如下:
换yum源安装
# yum install centos-release-scl-rh //会在/etc/yum.repos.d/目录下多出一个CentOS-SCLo-scl-rh.repo源
# yum install rh-ruby23 -y //直接yum安装即可
# scl enable rh-ruby23 bash //必要一步
# ruby -v
如上图所示,升级成功
再次执行gem install redis
安装成功
8.执行命令,创建redis集群如下
# /usr/local/redis-3.2.1/src/redis-trib.rb create --replicas 1 192.168.3.3:9001 192.168.3.3:9002 192.168.3.3:9003 192.168.3.3:9004 192.168.3.3:9005 192.168.3.3:9006
3主3备创建成功
9.验证
随意连接一个节点
通过命令,可以详细的看出集群信息和各个节点状态,主从信息以及连接数、槽信息等。这么看到,我们已经真的把 Redis 集群搭建部署成功啦!