1. 安裝ruby環境html
apt-get install ruby gem install redis
2. 安裝redisnode
參考文章:ubuntu 使用命令安裝最新的redis版本redis
3. 建立集羣文件及文件夾ubuntu
mkdir redis-cluster cd redis-cluster mkdir 9000 9001 9002 9003 9004 9005
結果以下圖所示:緩存
4. 拷貝redis.confruby
ubuntu redis配置文件路徑app
cd /etc/redis
進入redis配置文件目錄,將redis.conf複製redis-cluster文件夾中ide
cp redis.conf /home/user/redis-cluster
4.1主要修改信息以下:post
port 9000 # 端口號和文件夾名同樣 bind 127.0.0.1 # 綁定的ip 能夠使用127.0.0.1 也能夠使用192.168.0.1 dir /home/user/redis-cluster/9000 # 備份文件名存儲位置 cluster-enabled yes # 開啓集羣 cluster-config-file nodes-9000.conf # 配置文件名 appendonly yes # 開啓
不一樣信息在redis.conf位置:spa
4.2 ip綁定 綁定本機ip
4.2修改端口號
4.3 開啓
4.4 數據存儲位置
dbfilename 備份文件名
4.5 開啓集羣
4.6 配置文件名
而後分別將redis0cluster中redis.conf配置文件複製到新建的6個文件夾中(9000,9001,9002,9003,9004,9005)
複製redis.conf配置文件
cp redis.conf /home/user/redis-cluster/9000 cp redis.conf /home/user/redis-cluster/9001 cp redis.conf /home/user/redis-cluster/9002 cp redis.conf /home/user/redis-cluster/9003 cp redis.conf /home/user/redis-cluster/9004 cp redis.conf /home/user/redis-cluster/9005
5. 分別啓動redis-server
redis-server /home/user/redis-cluster/9000/redis.conf redis-server /home/user/redis-cluster/9001/redis.conf redis-server /home/user/redis-cluster/9002/redis.conf redis-server /home/user/redis-cluster/9003/redis.conf redis-server /home/user/redis-cluster/9004/redis.conf redis-server /home/user/redis-cluster/9005/redis.conf
6. 查看redis-server是否正常啓動
ps -ef|grep redis-server
結果以下
7. 建立redis集羣
redis-trib.rb(可否建立集羣主要靠它)存放的路徑
cd /usr/share/doc/redis-tools/examples/
複製redis-trib.rb到指定目錄
cp redis-trib.rb /home/user/redis-cluster/
redis集羣啓動
啓動集羣命令
./redis-trib.rb create --replicas 1 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005
結果以下:
>>> ./redis-trib.rb create --replicas 1 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 >>> Creating cluster # 自動輸入的命令 >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 Adding replica 127.0.0.1:9004 to 127.0.0.1:9000 Adding replica 127.0.0.1:9005 to 127.0.0.1:9001 Adding replica 127.0.0.1:9003 to 127.0.0.1:9002 >>> Trying to optimize slaves allocation for anti-affinity [WARNING] Some slaves are in the same host as their master M: 56b766b9e4b8447c2f0645e16b82283f6c7c11d7 127.0.0.1:9000 slots:0-5460 (5461 slots) master M: 89af1208bca79d22f9c051bb86d40de1ebaf92b4 127.0.0.1:9001 slots:5461-10922 (5462 slots) master M: c95629b3e17abaf3b0cef022359b49f4498a4d8a 127.0.0.1:9002 slots:10923-16383 (5461 slots) master S: 736a7abdbec3fd16bd610900cfed8ecd7f9b008b 127.0.0.1:9003 replicates 56b766b9e4b8447c2f0645e16b82283f6c7c11d7 S: 5f94b10bfe0ba249767da82161bdfdb14b5092aa 127.0.0.1:9004 replicates 89af1208bca79d22f9c051bb86d40de1ebaf92b4 S: 58481f44f290203a644503946b3d6f2b9bd53916 127.0.0.1:9005 replicates c95629b3e17abaf3b0cef022359b49f4498a4d8a Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join.... >>> Performing Cluster Check (using node 127.0.0.1:9000) M: 56b766b9e4b8447c2f0645e16b82283f6c7c11d7 127.0.0.1:9000 slots:0-5460 (5461 slots) master 1 additional replica(s) S: 736a7abdbec3fd16bd610900cfed8ecd7f9b008b 127.0.0.1:9003 slots: (0 slots) slave replicates 56b766b9e4b8447c2f0645e16b82283f6c7c11d7 S: 5f94b10bfe0ba249767da82161bdfdb14b5092aa 127.0.0.1:9004 slots: (0 slots) slave replicates 89af1208bca79d22f9c051bb86d40de1ebaf92b4 S: 58481f44f290203a644503946b3d6f2b9bd53916 127.0.0.1:9005 slots: (0 slots) slave replicates c95629b3e17abaf3b0cef022359b49f4498a4d8a M: 89af1208bca79d22f9c051bb86d40de1ebaf92b4 127.0.0.1:9001 slots:5461-10922 (5462 slots) master 1 additional replica(s) M: c95629b3e17abaf3b0cef022359b49f4498a4d8a 127.0.0.1:9002 slots:10923-16383 (5461 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
8. 鏈接集羣
redis-cli -c -h 127.0.0.1 -p 9000
注意:若是遇到MOVED 5798錯誤
請閱讀:http://www.chenxm.cc/post/695.html
總結:
這是一篇完整的Redis集羣部署,只要按照文章中的步驟作,那麼保證你能成功搭建一個redis集羣。
接下來可能就是動態擴容、增長節點和減小節點,從新分配槽大小等,固然,還有最重要的就是怎麼和咱們程序結合起來,以及如何更好的把 Redis 緩存集羣發揮出應有的效果,這些纔是最重要的。