一、本文目的
演示在一台機器上搭建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 |
三、搭建過程
1、安裝搭建說明修改配置文件及打開所有端口,並啟動6個redis
2、創建redis集群是使用ruby命令,故需要安裝以下軟件
123456789安裝 ruby 和 rubygems(注意: 需要 ruby 的版本在 1.8.7 以上)# yum install ruby rubygems檢查 ruby 版本:# ruby -vruby 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不知道怎么做容災,自動切換等,等待進一步研究
六、參考資料
