centos7.3搭建redis5.0.5集群

1、前言

由于服务器资源有限,只能在一台服务器上开多个端口,启用多个实例模拟集群效果,redis版本使用的是最新稳定版5.0.5,新版本已经放弃Ruby的集群方式,改用redis-cli方式,使得集群的构建复杂度大大的降低,感兴趣的可以到官网看看:https://redis.io/topics/cluster-tutorial

2、安装步骤

1、创建目录并下载redis、解压 、编译

// 创建文件夹redis
mkdir /root/redis

// 进入redis文件夹并下载redis-5.0.5
cd /root/redis
wget ​http://download.redis.io/releases/redis-5.0.5.tar.gz

// 解压压缩包并编译
tar -zxvf redis-5.0.5.tar.gz
cd redis-5.0.5
make

2、创建文件夹redis-cluster,并且在这个文件夹里创建7001-7006  文件夹,复制6份redis.conf到对应文件夹里

mkdir redis-cluster
mkdir 7001 7002 7003 7004 7005 7006
// 复制6份redis.conf到7001-7006文件夹中
cp /root/redis/redis-5.0.5/redis.conf /root/redis/redis-cluster/7001/redis.conf
cp /root/redis/redis-5.0.5/redis.conf /root/redis/redis-cluster/7002/redis.conf
cp /root/redis/redis-5.0.5/redis.conf /root/redis/redis-cluster/7003/redis.conf
cp /root/redis/redis-5.0.5/redis.conf /root/redis/redis-cluster/7004/redis.conf
cp /root/redis/redis-5.0.5/redis.conf /root/redis/redis-cluster/7005/redis.conf
cp /root/redis/redis-5.0.5/redis.conf /root/redis/redis-cluster/7006/redis.conf

3、编辑配置文件redis.conf,各自的配置文件改为各自对应的端口

port 7001  #端口
cluster-enabled yes #打开集群模式
cluster-config-file nodes-7001.conf  #集群节点信息
daemonize yes #后台运行
protected-mode no #关闭非保护模式
pidfile  /var/run/redis_7001.pid

4、启用6台实例

/root/redis/redis-5.0.5/src/redis-server /root/redis/redis-cluster/7001/redis.conf
/root/redis/redis-5.0.5/src/redis-server /root/redis/redis-cluster/7002/redis.conf
/root/redis/redis-5.0.5/src/redis-server /root/redis/redis-cluster/7003/redis.conf
/root/redis/redis-5.0.5/src/redis-server /root/redis/redis-cluster/7004/redis.conf
/root/redis/redis-5.0.5/src/redis-server /root/redis/redis-cluster/7005/redis.conf
/root/redis/redis-5.0.5/src/redis-server /root/redis/redis-cluster/7006/redis.conf

查看是否6个实例都正常启动

ps -ef|grep redis

5、启动集群

/root/redis/redis-5.0.5/src/redis-cli 公网ip:7001 公网ip:7002 公网ip:7003 公网ip:7004 公网ip:7005 公网ip:7006 --cluster create --cluster-replicas 1

如果这个命令执行后一直卡住不动,那应该是端口IP未开放,开放7001-7006端口

// 返回success及表示成功,其他端口也依照此开放
firewall-cmd --add-port=7001/tcp --permanent
// 需要重新加载防火墙配置才生效
firewall-cmd --reload

然后登陆对应服务器控制台(我用的是阿里云),设置安全组放心7001-7006端口,然后再从新启动集群

如果出现如下图情况,应该是集群总线端口未开放,集群总线端口为客户端端口+10000

centos7.3搭建redis5.0.5集群_第1张图片

// 依次开放17001 - 17006 端口
firewall-cmd --add-port=17001/tcp --permanent
// 都开放好后需要重新加载下防火墙配置

firewall-cmd --reload

然后重新启动集群,出现这个说明集群启动成功

centos7.3搭建redis5.0.5集群_第2张图片

测试:

// 以集群方式连接端口为7001的redis
/root/redis/redis-5.0.5/src/redis-cli -h 114.55.37.17 -p 7001 -c
// 随意设置一个值
set a b

可以发现,redis通过计算后将该值存在了端口为7003的实例中

// 查看集群节点信息
 cluster nodes

可以看到有三个主节点,三个从节点

// 查看集群状态信息
cluster info

centos7.3搭建redis5.0.5集群_第3张图片

你可能感兴趣的:(redis)