一、本文目的
演示在一台机器上搭建3主3从的redis集群,通过演示了解redis集群的搭建,使用和注意事项
二、搭建说明
1、同一台机器搭建3主3从的伪集群
2、使用端口7111~7116,集群端口为端口前+1,如果使用端口7111,则其集群通信端口为17111,
redis.config的配置如下:
daemonize | port | pidfile | logfile | cluster-enabled | cluster-config-file | cluster-node-timeout | |
7111 | yes |
7111 |
/var/run/redis7111.pid | "redis7111.log" | yes | nodes-7111.conf | 5000 |
7112 |
yes |
7112 |
/var/run/redis7112.pid |
"redis7112.log" |
yes |
nodes-7112.conf |
5000 |
7113 |
yes |
7113 |
/var/run/redis7113.pid |
"redis7113.log" |
yes |
nodes-7113.conf |
5000 |
7114 |
yes |
7114 |
/var/run/redis7114.pid |
"redis7114.log" |
yes |
nodes-7114.conf |
5000 |
7115 |
yes |
7115 |
/var/run/redis7115.pid |
"redis7115.log" |
yes |
nodes-7115.conf |
5000 |
7115 |
yes |
7116 |
/var/run/redis7116.pid |
"redis7116.log" |
yes |
nodes-7116.conf |
5000 |
3、需要打开7111~7116、17111~17116一共12个端口
三、搭建过程
1、安装搭建说明修改配置文件及打开所有端口,并启动6个redis
2、创建redis集群是使用ruby命令,故需要安装以下软件
123456789安装 ruby 和 rubygems(注意: 需要 ruby 的版本在 1.8.7 以上)
# yum install ruby rubygems
检查 ruby 版本:
# ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
gem 安装 redis ruby 接口:
# gem install redis
3、执行创建集群的命令(可在任何一个redis的src目录下执行)
a) redis-trib.rb 创建集群的rube命令
b) create 创建集群
c) replicas 每个master包含一个slaver
d) 192.168.146.131:7111 每个redis实例的ip+端口,每个实例根据空格分开
1
2
3
|
cd /usr/local/redis7111/src ./redis-trib.rb create replicas 1 192.168 . 146.131 : 7111 192.168 . 146.131 : 7112 192.168 . 146.131 : 7113 192.168 . 146.131 : 7114 192.168 . 146.131 : 7115 192.168 . 146.131 : 7116
|
4、系统分配Master、Slaver集群关系
5、Slot插槽分配结果
四、集群的测试
1、设置key
2、 在另外一个集群机器上读取刚设置的key
3、查看集群间的关系、Master/Slaver之间的关系
五、总结
- 集群中各台机器的配置信息一致,Master/Slaver关系是在创建集群时由系统分配
- redis集群公用16384个slot,分配给不同的Master
- 每个key最终都会位于某一个slot,读取key时会先转向到某一个slot,然后读取其中的值
- 新增集群或减少集群(如新增或减少Master)会重新分配slot
- 集群的Master/Slaver不知道怎么做容灾,自动切换等,等待进一步研究
六、参考资料