redis3.0集群的搭建
请先读参考文献,对redis3的集群有大概的了解,再做集群搭建实验,效果会更好。
参考文献:http://www.redis.cn/topics/cluster-tutorial.html
http://www.redis.cn/topics/cluster-spec.html
一、下载安装redis3.0
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
make
cd src && make install
编译完成后,为了编译操作,新建以下目录:
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mv /lamp/redis-2.4.17/redis.conf /usr/local/redis/etc
cd /lamp/redis-2.4.17/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-sentinel
redis-cli redis-server /usr/local/redis/bin
三、在/usr/local/redis目录下新建目录cluster-test,然后在cluster-test目录中新建7000,7001,7002,7003,7004,7005目录
mkdir 7000 7001 7002 7003 7004 7005
在7000,7001,7002,7003,7004,7005目录分别新建一个redis.conf文件,
比如7005文件夹中的redis.conf的内容如下
port 7005
cluster-enabled yes
cluster-config-file nodes.7005.conf
cluster-node-timeout 5000
appendfilename "appendonly.7005.aof"
appendonly yes
其它目录类似。
四、新建集群
1.启动6个redis服务
./bin/redis-server ./cluster-test/7000/redis.conf&
./bin/redis-server ./cluster-test/7001/redis.conf&
./bin/redis-server ./cluster-test/7002/redis.conf&
./bin/redis-server ./cluster-test/7003/redis.conf&
./bin/redis-server ./cluster-test/7004/redis.conf&
./bin/redis-server ./cluster-test/7005/redis.conf&
注:后面加&为了在后台启动。
root@h1:/usr/local/redis# ps -ef | grep redis
root 10945 1662 0 23:28 pts/0 00:00:00 ./bin/redis-server *:7000 [cluster]
root 10948 1662 0 23:28 pts/0 00:00:00 ./bin/redis-server *:7001 [cluster]
root 10993 1662 0 23:33 pts/0 00:00:00 ./bin/redis-server *:7002 [cluster]
root 10998 1662 0 23:34 pts/0 00:00:00 ./bin/redis-server *:7003 [cluster]
root 11003 1662 0 23:34 pts/0 00:00:00 ./bin/redis-server *:7004 [cluster]
root 11007 1662 1 23:34 pts/0 00:00:00 ./bin/redis-server *:7005 [cluster]
root 11014 1662 0 23:35 pts/0 00:00:00 grep --color=auto redis
root@h1:/usr/local/redis#
2.新建集群
./bin/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
五、测试集群
使用redis-cli命令进入集群环境
./bin/redis-cli -c -p 7000
root@h1:/usr/local/redis# ./bin/redis-cli -c -p 7000
127.0.0.1:7000> set foo bar
-> Redirected to slot [12182] located at 127.0.0.1:7002
OK
127.0.0.1:7002> set hello world
-> Redirected to slot [866] located at 127.0.0.1:7003
OK
127.0.0.1:7003> get foo
-> Redirected to slot [12182] located at 127.0.0.1:7002
"bar"
127.0.0.1:7002> get hello
-> Redirected to slot [866] located at 127.0.0.1:7003
"world"
127.0.0.1:7003>