ubtuntu redis 集羣部署/搭建(官方原始方案)

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

結果以下圖所示:緩存

13.png

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

21.png

4.2修改端口號

22.png

4.3 開啓

26.png

4.4 數據存儲位置

dbfilename 備份文件名

23.png

4.5 開啓集羣

24.png

4.6 配置文件名

25.png

而後分別將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

 

結果以下

27.png

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 緩存集羣發揮出應有的效果,這些纔是最重要的。

相關文章
相關標籤/搜索