下载和安装Redis
在终端执行以下命令来下载,解压,编译redis
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
tar xzf redis-3.2.1.tar.gz
cd redis-3.2.1
make
创建多个Redis实例的配置
mkdir cluster-test
cd cluster-test
mkdir 7000 7001 7002 7003 7004 7005
这5个目录分别存放1个redis实例的配置,以7000为例:
cd 7000
touch redis.conf
mkdir logs
cd logs
touch redis.log
向redis.config中写入以下内容:
# 监听7000端口
port 7000
# 打开cluster模式
cluster-enabled yes
# 指定cluster模式输出的配置文件路径
cluster-config-file /root/redis-3.2.1/cluster-test/7000/nodes.conf
# cluster节点的超时时间
cluster-node-timeout 5000
appendonly yes
# 使用后台启动
daemonize yes
# 实例的日志输出路径
logfile "/root/redis-3.2.1/cluster-test/7000/logs/redis.log"
其它5个实例的配置同理。
创建启动脚本并执行启动
为了方便依次启动这6个实例,可以创建一个启动脚本在cluster-test目录下,名为startcluster.sh。内容如下:
../src/redis-server ./7000/redis.conf
../src/redis-server ./7001/redis.conf
../src/redis-server ./7002/redis.conf
../src/redis-server ./7003/redis.conf
../src/redis-server ./7004/redis.conf
../src/redis-server ./7005/redis.conf
然后运行脚本:
sh startcluster.sh
运行下面命令查看是否启动成功:
ps -ef | grep redis
使用create-cluster脚本创建一个Redis Cluster
在redis安装目录下找到utils/create-cluster/目录下有create-cluster命令。
执行:
create-cluster start
create-cluster create
在第2步后输入yes
来接受cluster的布局
若要停止cluster,执行:
create-cluster stop
使用redis-cli测试cluster可用性
连接cluster中的一个实例(7000端口的实例,-c 表示cluster模式):
./redis-cli -p 7000 -c
set和get一些数据可以发现,cluster的实例会根据key计算出其对应的slot,然后重定向到负责该slot的对应的redis实例来处理。