操作系统版本:ubuntu12.04
redis版本:redis-3.0.1.tar.gz
以下是三台服务器,每台服务器包含一个master、一个slave,共6个节点。
依赖库安装
1、安装ruby:
apt-get install ruby
2、安装rubygems:
apt-get install rubygems
3、安装gems:
apt-get install gems
4、安装gem-redis
gem install redis
redis-cluster安装
拷贝或下载安装redis-3.0.1.tar.gz包解压到/usr/local/
tar -zxvf redis-3.0.1.tar.gz
mv redis-3.0.1 redis
cd /usr/local/redis/
make
make test
redis-cluster配置
以下是一个包含了最少选项的集群配置文件示例:
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
文件中的cluster-enabled 选项用于开实例的集群模式,而cluster-conf-file 选项则设定了保存节点配
置文件的路径,默认值为nodes.conf 。
节点配置文件无须人为修改,它由Redis 集群在启动时创建,并在有需要时自动进行更新。
1、让我们进入一个新目录,并创建六个以端口号为名字的子目录,稍后我们在将每个目录中运行一个
Redis 实例:
mkdir cluster
cd cluster
mkdir 7000-master-01
mkdir 7001-slave-01
在文件夹7000-master-01、7001-slave-01 中,各创建一个redis.conf文件,文件的内容可以使用上面的示例配置文件,但记得将配置中的端口号从7000 改为与文件夹名字相同的号码。
2、从Redis Github 页面的unstable 分支中取出最新的Redis 源码,编译出可执行文件redis-server,并将文件复制到cluster-test 文件夹,然后使用类似以下命令,在每个标签页中打开一个实例:
cd 7000-master-01
../redis-server ./redis.conf
构建集群
cd /usr/local/redis/src
1、#redis-trib.rb的create子命令构建
#--replicas 则指定了为Redis Cluster中的每个Master节点配备几个Slave节点
#节点角色由顺序决定,先master之后是slave,master端口7000,slave端口7001
./redis-trib.rb create --replicas 1 10.255.0.189:7000 10.255.0.197:7000 10.255.0.199:7000 10.255.0.189:7001 10.255.0.197:7001 10.255.0.199:7001
2、或者使用以下方式构建集群
./redis-trib.rb create 10.255.0.189:7000 10.255.0.197:700010.255.0.199:7000
./redis-trib.rb add-node --slave 10.255.0.189:700110.255.0.197:7000
./redis-trib.rb add-node --slave10.255.0.197:7001 10.255.0.199:7000
./redis-trib.rb add-node --slave10.255.0.199:7001 10.255.0.189:7000
验证集群生效
cd /usr/local/redis/src
./redis-cli -h 10.255.0.197 -c -p 7000
./redis-cli -h 10.255.0.197 -c -p 7000 cluster nodes 显示集群中所有节点