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

1. 安装ruby环境

apt-get install ruby
gem install redis

2. 安装redis

参考文章:ubuntu 使用命令安装最新的redis版本

3. 创建集群文件及文件夹

mkdir redis-cluster
cd redis-cluster
mkdir 9000 9001 9002 9003 9004 9005

结果如下图所示:

13.png

4. 拷贝redis.conf

ubuntu  redis配置文件路径

cd /etc/redis

 进入redis配置文件目录,将redis.conf复制redis-cluster文件夹中

cp redis.conf /home/user/redis-cluster

4.1主要修改信息如下:

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位置:

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 缓存集群发挥出应有的效果,这些才是最重要的。

posted on 2018-09-06 14:11  小和尚我不念经  阅读(308)  评论(0编辑  收藏  举报

导航