Redis集群(二)集群搭建
本文假设您已经了解基础的Redis知识,只简要介绍集群概念,重点放在集群搭建及简单应用上。
Redis的安装可以参考上一篇 Redis集群(一)单机安装
如需了解Redis基础知识,可以移步redis中文官网http://www.redis.cn/
集群的概念
多个业务单元系统工作的整体称为集群。
-
集群的特点
1) 集群节点数量应为奇数
在集群中业务单元一半及以上不可用时,整个集群遍不可用,因此集群的数量应该为奇数,才会使整个集群不可用的几率最小(集群数量为偶数,允许down掉节点数永远是二分之一,而奇数个可以提高上限)。2)集群模式为一主一备模式
为每一个业务单元(master节点)创建一个备份业务单元(slave节点),相互协同保证服务可用。
集群搭建
- 安装ruby脚本
> yum install ruby -y
- 安装ruby包管理器
> yum install rubygems -y
- 安装ruby依赖的其他包
首先需要下载gem包,传送门
下载后放在任意文件夹,进入到此文件夹运行以下命令进行安装
> gem install redis-3.0.0.gem
- 新建redis-cluster方便集中管理
> mkdir /usr/local/redis-cluster
- 复制安装好的redis文件并重命名
# -r 表示递归复制
#将你之前安装好的redis安装目录中的文件复制到redis-cluster中
> cp -r /usr/local/redis /usr/local/redis-cluster/redis01
- 删除掉之前的运行时产生的备份
#进入到redis01中
> cd /usr/local/redis-cluster/redis01
#删除备份文件
> rm -rf dump.rdb
- 修改配置文件中的端口号,添加cluster-enabled属性值
> vim redis.conf
#将port值修改为7001
#将cluster-enabled yes 的注释解开
- 复制redis01为01-06
> cp -r redis01 redis02
> cp -r redis01 redis03
...
- 依次修改每个redis的端口
> vim redis02/redis.conf #修改port值
> vim redis03/redis.conf #修改port值
...
- 复制redis-trib.rb到redis-cluster中
> cd /usr/local/redis-cluster
#将redis解压目录中的redis-trib.rb复制过来,注意你的路径有可能不同
> cp /usr/local/tmp/redis-3.0.0/src/redis-trib.rb ./
- 创建批量启动文件
> vim startup.sh
添加如下语句:
- 设置startup.sh启动权限
> chmod a+x startup.sh
- 启动所有redis服务
> ./startup.sh
- 查看是否启动成功
> ps aux | grep redis
运行效果
- 创建集群
#这里需要注意的是:一定要使用公网ip,不能使用127.0.0.1,否则会导致使用非本地程序访问集群报“No more cluster attempts left”错误
> ./redis-trib.rb create --replicas 1 192.168.80.130:7001 192.168.80.130:7002 192.168.80.130:7003 192.168.80.130:7004 192.168.80.130:7005 192.168.80.130:7006
提示中输入‘yes’,回车等待运行成功:
- 进入任意节点测试
> ./redis01/redis-cli -h 127.0.0.1 -p 7001 -c
可以进入终端代表创建成功
- 为了方便统一关闭,创建类似startup.sh的批量关闭文件
> vim shutdown.sh
添加如下内容
记得使用chmod授权,参考startup.sh的授权。
至此,相信你已经将集群搭建成功,接下来演示使用桌面工具连接和使用java来测试集群是否可以正常使用。