之前安装了单机的Redis,这次安装一个Redis集群。
集群定义:
- 多个业务单元一同工作,且每个业务单元都是相同的。
集群特点:
- 当集群中业务单元大于等于1/2个凉了的时候,这个集群就不能再使用了,经过计算,当集群数为3的时候,整体down的几率最低
- 一主一备模式,给每一个业务单元创建一个备用业务单元,原来的业务单元称作master,备用的称作slave。
集群和伪集群:
- 集群:每一个业务单元在单独的服务器上
- 伪集群:所有的业务单元都在同一个服务器上,用端口号来区分
安装步骤:
- 安装ruby
#yum install -y ruby - 安装ruby包管理器
#yum install -y rubygems - 安装脚本需要的其他包
#gem install redis-3.2.1.gem - 为了好整理,在/usr/local中建立一个新的文件夹redis-cluster
#mkdir redis-cluster - 将单机版安装好的redis/bin复制到redis-cluster中取名字redis01
#cp -r bin /usr/local/redis-cluster/redis01 - 进入到redis01中删除掉之前单机版做的实验数据
#rm -rd dump.rdb - 之后修改redis.conf中的端口号,改成自己熟悉的数字比如5201,然后去掉cluster-enabled yes前面的注释#
#vim redis.conf - 将redis01赋值5份,这就相当于是3份master和3份slave
#cp -r redis01 redis02
……
#cp -r redis 01 redis06 - 之后修改这五份的redis.conf,修改他们的端口号为5202……5206
#vim redis02/redis.conf
……
#vim redis06/redis.conf - 将之前redis解压目录中的src下的redis-trib.rb赋值到redis-cluster中
#cp /usr/local/redis/src/redis-trib.rb /usr/local/redis-cluster/ - 由于配置集群之后,每次启动需要打几乎同样的命令6次,所以在redis-cluster创建一个批文件取名字startall.sh
#vim startall.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 …/ - 给startall.sh一个权限
#chmod a+x startall.sh - 执行脚本,启动redis服务
#./startall.sh - 查看服务是否启动成功
#ps aux|grep redis - 创建集群,在redis-cluster下输入
#redis-triv.rb create --replicas 1
192.168.213.148:5201
192.168.213.148:5202
192.168.213.148:5203
192.168.213.148:5204
192.168.213.148:5205
192.168.213.148:5206 - 测试
#./redis01/redis-cli -h 192.168.213.148 -p 5201 -c - 关闭redis,因为关闭也是一个重复性任务,所以可以创建一个批文件取名shutdownall.sh
#vim shutdownall.sh
./resid01/redis-cli -p 5201 shutdown
./resid01/redis-cli -p 5202 shutdown
./resid01/redis-cli -p 5203 shutdown
./resid01/redis-cli -p 5204 shutdown
./resid01/redis-cli -p 5205 shutdown
./resid01/redis-cli -p 5206 shutdown