由於只有一臺虛擬機, 因此我建立了6個集羣節點在一臺機器上。 三主 三副node
1.建立目錄web
新建一個redis 集羣的文件夾, 在下面建立6個集羣分別的文件夾 8001,8002,8003,8004,8005,8006redis
2.將conf文件拷貝到各自的文件夾中而且進行修改。ruby
把以前的redis.conf配置文件copy到8001下,修改以下內容: 服務器
(1)daemonize yes app
(2)port 8001(分別對每一個機器的端口號進行設置) ui
(3)dir /usr/local/rediscluster/8001/(指定數據文件存放位置,必需要指定不一樣的目 錄位置,否則會丟失數據) spa
(4)cluster-enabled yes(啓動集羣模式) orm
(5)cluster-config-file nodes-8001.conf(集羣節點信息文件,這裏800x好和port對 應上) server
(6)cluster-node-timeout 5000
(7) # bind 127.0.0.1(去掉bind綁定訪問ip信息)
(8) protected-mode no (關閉保護模式)
(9)appendonly yes 若是要設置密碼須要增長以下配置:
(10)requirepass **** (設置redis訪問密碼)
(11)masterauth **** (設置集羣節點間訪問密碼,跟上面一致)
而後將文件拷貝到其餘的目錄中。而且更改port 可使用 批量替換 :%s/8001/8005/g
3.分別啓動redis 實例
分別啓動6個redis實例,而後檢查是否啓動成功 (1)/usr/redis-5.0.2/src/redis-server /usr/local/redis-cluster/800*/redis.conf (2)ps -ef | grep redis 查看是否啓動成功
4.用redis-cli建立整個redis集羣(redis5之前的版本集羣是依靠ruby腳本redistrib.rb實現)
)/usr/redis-5.0.2/src/redis-cli -a **** --cluster create --cluster-replicas 1 192.168.31.128:8001 192.168.31.128:8002 192.168.31.128:8003 192.168.31.128:8004 192.168.31.128:8005 192.168.31.128:8006 表明爲每一個建立的主服務器節點建立一個從服務器 節點
-a **** 這個指的是密碼
--cluster-replicas 1 這個指的是從機的數量
後面的就是hostname 和 port 端口號了。
Unrecognized option or bad number of args for: '--cluster-replics' : 這個錯誤表明參數沒有打對
5.驗證集羣
/usr/local/redis-5.0.2/src/redis-cli -a **** -c -h 192.168.0.61 -p 800*
進行驗證: cluster info(查看集羣信息)、cluster nodes(查看節點列表)
6.關閉集羣
可使用redis-cli shutdown
/usr/local/redis/bin/redis-cli -a ****-c -h 192.168.31.128 -p 8001 shutdown