一、本文是在一台 linux 系统上,模拟搭建 redis 集群。3 台主机,3 台从机。
二、redis 安装步骤
http://www.cnblogs.com/fangwu/p/8602357.html
三、在 /usr/local/ 下创建 redis-cluster 文件夹
[root@MyLinux local]# mkdir redis-cluster
四、复制 6 份 redis 实例( redis 实例,就是 redis 的安装目录 )到 redis-cluster 文件夹中
[root@MyLinux bin]# cp /usr/local/redis/bin/ /usr/local/redis-cluster/redis01 -r
[root@MyLinux bin]# cp /usr/local/redis/bin/ /usr/local/redis-cluster/redis02 -r
[root@MyLinux bin]# cp /usr/local/redis/bin/ /usr/local/redis-cluster/redis03 -r
[root@MyLinux bin]# cp /usr/local/redis/bin/ /usr/local/redis-cluster/redis04 -r
[root@MyLinux bin]# cp /usr/local/redis/bin/ /usr/local/redis-cluster/redis05 -r
[root@MyLinux bin]# cp /usr/local/redis/bin/ /usr/local/redis-cluster/redis06 -r
五、修改配置文件
1、分别修改 6 份 redis 实例的端口为 7001,7002,7003,7004,7005,7006
2、分别打开 6 份 redis 实例的集群配置
六、创建批处理,用来同时开启 6 份 redis 服务
1、创建名为 start-all.sh 的文件
[root@MyLinux redis-cluster]# touch start-all.sh
2、修改文件内容 vim start-all.sh
cd redis01
redis-server redis.conf
cd ..
cd redis02
redis-server redis.conf
cd ..
cd redis03
redis-server redis.conf
cd ..
cd redis04
redis-server redis.conf
cd ..
cd redis05
redis-server redis.conf
cd ..
cd redis06
redis-server redis.conf
cd ..
3、修改批处理文件的权限,让该文件变为可执行的状态
[root@MyLinux redis-cluster]# chomd 744 start-all.sh
4、执行批处理文件,启动 6 份 redis 服务
[root@MyLinux redis-cluster]# ./start-all.sh
七、连接这 6 份 redis 服务,并且为他们分配槽( slot )
1、将 redis 解压目录中的 redis-trib.rb 文件复制到 redis-cluster 文件夹中
[root@MyLinux redis-3.0.4]# cp src/redis-trib.rb /usr/local/redis-cluster
2、redis-trib.rb 脚本文件是 ruby 写的,所以需要 ruby 的环境
yum install ruby
yum install rubygems
3、安装 redis-trib.rb 脚本文件运行所依赖的库
链接:https://pan.baidu.com/s/1HDBN9nC74x21VZKDCDfZEw 密码:obxr
[root@MyLinux 桌面]# gem install redis-3.0.0.gem
4、执行 redis-trib.rb 脚本( 分配主机和从机,并分配槽 )
[root@MyLinux redis-cluster]# ./redis-trib.rb create --replicas 1 192.168.25.128:7001 192.168.25.128:7002 192.168.25.128:7003 192.168.25.128:7004 192.168.25.128:7005 192.168.25.128:7006
--replicas 1:每台主机分配 1 台从机
八、使用 redis-cli 连接集群
使用客户端,连接集群的任意节点都可以
[root@MyLinux redis-cluster]# redis01/redis-cli -p 7004 -c
-c:表示连接的是集群