redis-cluster搭建過程
目的
本文章為redis-cluster搭建的step by step教程,具體原理,請見相關文檔,在此不再詳細講解。
環境配置
本人在一台window 7上安裝虛擬機,虛擬機中安裝的是centos系統。
目標
在centos上搭建一個有6個節點的redis-cluster,端口號為 7000-7005
搭建步驟
新建文件夾
mkdir /opt/app/redis_cluster
cd /opt/app/redis_cluster
下載、解壓、編譯
$ wget http://download.redis.io/releases/redis-3.0.6.tar.gz
$ tar xzf redis-3.0.7.tar.gz
$ cd redis-3.0.7
$ make
創建六個文件夾
[root@localhost redis-cluster]# mkdir 7000 7001 7002 7003 7004 7005
創建並配置redis.conf
分別在7000-7005六個文件夾中創建redis.conf文件,並添加配置,配置內容如下
注意:端口號 port 與所在文件夾名相同;cluster-config-file 地址中的 7000 也必須跟文件夾名相同。
port 7000
cluster-enabled yes
cluster-config-file /opt/app/redis_cluster/7000/nodes.conf
cluster-node-timeout 5000
appendonly yes
依次啟動6個實例
啟動7000實例
[root@localhost redis_cluster]# redis-3.0.7/src/redis-server 7000/redis.conf &
成功啟動之后,如圖顯示:
啟動7001實例
[root@localhost redis_cluster]# redis-3.0.7/src/redis-server 7001/redis.conf &
成功啟動之后,如圖顯示:
依次類推,啟動7002-7005實例。
啟動完成如圖:
將這些節點添加到集群中
連接到 7000 實例上,然后將 7001 - 7005 實例添加到集群中
其中紅色框起來的就是為每一個節點負責的插槽(slot),redis-cluster總共有16384個插槽,目前我們創建了6個節點,所以均分得到這些區間段,將這些區間段分到每一個實例上去。
這個配置可以手動寫到 7000節點的nodes.conf(nodes.conf文件只會在啟動之后由redis創建),寫完之后再重啟集群中的實例,然后再使用meet將這些節點添加到集群中。
07673576597fd7d6cec9b5b0691571ce71e9098a 127.0.0.1:7003 master - 0 1472194995492 3 connected 8190-10919
1adc79c33fdfe908a41a97e044a4b072b0ba3042 127.0.0.1:7004 master - 0 1472194996298 4 connected 10920-13649
5b7a115c35ccbd266e4fe7071eb7375a53dd3dfd 127.0.0.1:7000 myself,master - 0 0 0 connected 0-2729
2a49fb3dead90778f9e1321654fae123496523d2 127.0.0.1:7002 master - 0 1472194996500 2 connected 5460-8189
10f4e506afa49558fcbd48ef081212ef11a6ad0c 127.0.0.1:7001 master - 0 1472194994987 1 connected 2730-5459
43f330e01fa94756556429bf105a3da21389620e 127.0.0.1:7005 master - 0 1472194996710 5 connected 13650-16383
必須更新7000-7005中所有的node.conf文件,沒有更新的節點的狀態會處於 【fail】的。