redis 集群搭建


在上一篇博客 redis简单主从复制的实现简述了
redis主从复制的搭建,其中也知道主从复制存在如下问题:Slave下线,只是读请求的处理性能下降
Master下线,写请求无法执行。本文讲述redis3.0在单机上搭建集群。

1、规划

端口700170027003700470057006
主从MasterMasterMasterSlaveSlaveSlave

2 redis安装

2.1 redis下载

集群搭建需要下载至少redis3.0或者以上版本,历史版本下载地址
除了下载redis还需下载redis3.0gem包
在这里插入图片描述

2.2 解压

tar -zxvf redis-3.0.0.tar.gz -C /opt/app/

在这里插入图片描述

2.3 本地yum准备

先挂载镜像,由于centos6.5的光盘可能缺失rubygems包,需要下载centos6.8光盘,centos光盘镜像文件下载地址:https://vault.centos.org/
在这里插入图片描述

mount /dev/cdrom  /mnt

在这里插入图片描述

 cd /etc/yum.repos.d/
cp old/CentOS-Base.repo  local.repo
vim local.repo 

local.repo 中内容如下

  [base]
    name=CentOS-$releasever - Base
    baseurl=file:///mnt
   gpgcheck=0
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
yum clean all

在这里插入图片描述
本地yum仓库下载

yum makecache

在这里插入图片描述

2.4 安装 gcc tcl

yum install gcc tcl -y

在这里插入图片描述

2.5 编译

在 redis 解压 目录/opt/app/redis-3.0.0

make

在这里插入图片描述

2.6 安装

make install PREFIX=/opt/app/redis3

在这里插入图片描述

2.7 配置文件

将配置文件拷贝到安装目录处

cp /opt/app/redis-3.0.0/redis.conf  /opt/app/redis3/bin/

复制安装的目录6份

cp -r redis1/ redis2
cp -r redis1/ redis3
cp -r redis1/ redis4
cp -r redis1/ redis5
cp -r redis1/ redis6

在这里插入图片描述
编辑6份的配置信息:

cd redis1
vim redis.conf 

内容如下

    port 7001
daemonize yes
cluster-enabled yes 注释放开就行了

redis2,redis3……redis6 同上

3 启动redis服务器

cd   /opt/app/redis3/redis
./redis-server redis.conf 
cd ../redis2
./redis-server redis.conf 
cd ../redis3
./redis-server redis.conf 
cd ../redis4
./redis-server redis.conf 
cd ../redis5
./redis-server redis.conf 
cd ../redis6
./redis-server redis.conf 

查看进程

ps aux|grep redis

在这里插入图片描述

4 gem 安装

4.1 redis-trib.rb准备

将redis-trib.rb拷贝到指定目录/opt/redis3/

cp /opt/app/redis-3.0.0/src/redis-trib.rb  /opt/app/redis3

4.2 安装ruby以及rubygems

yum install ruby rubygems -y  

在这里插入图片描述

4.3 redis.gem

cd /apps
gem install redis-3.0.0.gem

在这里插入图片描述

5 启动集群

cd /opt/app/redis3
./redis-trib.rb create --replicas 1 192.168.8.63:7001 192.168.8.63:7002 192.168.8.63:7003 192.168.8.63:7004 192.168.8.63:7005 192.168.8.63:7006

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6 连接集群测试

c表示集群连接,否则单机连接

 redis1/redis-cli -p 7001 -c
 set key1 hello

由于 key1 对16384取模后落在槽位 9189上,9189分配给了7002,所以自动重定向到联接到了7002。

在这里插入图片描述

 sadd  fruits apple pear banana

由于 fruits 对16384取模后落在槽位 14943,14943分配给了7003,所以自动重定向到联接到了7003
在这里插入图片描述

 set mykey1 k11

由于 mykey1 k11 对16384取模后落在槽位 1860,1860分配给了7001,所以自动重定向到联接到了7001在这里插入图片描述
集群状态

  cluster nodes

在这里插入图片描述
在这里插入图片描述
看到 7001为master,7004为7001的slave,7005为7002的slave,7006为7003的slave

7 集群启动停止脚本

7.1 启动脚本

在家目录下创建 start-redis.sh
内容如下

#!/bin/bash
MYHOME=/opt/app/redis3
for i in `seq 6`
do
  cd $MYHOME/redis$i
  ./redis-server redis.conf
done

7.2 停止脚本

在家目录下创建 stop-res.sh
内容如下

#!/bin/bash
for i in `seq 6`
do
  /opt/app/redis3/redis1/redis-cli -p 700$i shutdown
done

7.3 授权

chmod 777   start-res.sh 
chmod 777   stop-res.sh 

7.4 停止集群

./stop-redis.sh
ps aux|grep redis

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜菜的中年程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值