Redis6.0搭建集群Redis-cluster的方法


Posted in Redis onMay 08, 2021

此处以三台服务器部署为例,IP地址分别为192.168.124.23,192.168.124.24,192.168.124.25 使用普通用户ubuntu登录
总共三个主节点和三个从节点。每台服务器分配槽位不同的一主一从

从官网https://redis.io/download下载Redis6.0

Stable版安装包到/usr/local/redis-6.0.x.tar.gz(文件位置可自定义)

将安装包解压tar -zxvf redis-6.0.x.tar.gz

进入redis文件夹(cd /usr/localredis-6.0.x)并编译make(make命令若出错,请尝试升级gcc版本)

验证编译结果是否成功make test(报错CentOS请执行yum install tcl再重试)

创建用于存放集群的文件夹(可自定义文件夹位置和名称,这里以/usr/local/redis-cluster为例)

mkdir /usr/local/redis-cluster
cd /usr/local/redis-cluster

每个服务器复制两份redis至 /usr/local/redis-cluster 目录下并分别改名为redis7000~7005,命令例:(若用户不为root,需使用chown命令修改文件夹属主)

#复制命令例:
cp -r redis-6.0.x  /usr/local/redis-cluster/redis7000
#这里只是验证您是否成功操作到此,并更改权限

#查看文件目录确认是否已成功复制进来
ubuntu@192.168.124.23: /usr/local/redis-cluster$ ls
redis7000  redis7001
#此处的ubuntu改成你的用户名
ubuntu@192.168.124.23: /usr/local/redis-cluster$ sudo chown -R ubuntu:root /usr/local/redis-cluster
#-------------------------------------------------
ubuntu@192.168.124.24:/usr/local/redis-cluster$ ls
redis7002  redis7003
ubuntu@192.168.124.24:/usr/local/redis-cluster$ sudo chown -R ubuntu:root /usr/local/redis-cluster
#-------------------------------------------------
ubuntu@192.168.124.25:/usr/local/redis-cluster$  ls
redis7004  redis7005
ubuntu@192.168.124.25:/usr/local/redis-cluster$ sudo chown -R ubuntu:root /usr/local/redis-cluster

以redis7000为例修改配置文件,redis7001~7005需做相同的操作(不同的节点使用自己的端口号,而不是7000)

cd /usr/local/redis-cluster/redis7000 
#拷贝一份配置文件,将来使用此新文件来启动Redis集群
cp redis.conf redis7000.conf 
#修改配置文件(进入vim编辑器后可使用"‘/'键 来快速定位配置项位置)
vi redis7000.conf

接下来编辑此配置文件,修改如下配置项

#############
port 7000 #设置启动端口
cluster-enabled yes #允许集群启动
cluster-config-file nodes7000.conf #集群配置文件名
cluster-node-timeout 5000 #集群节点之间多少毫秒无法连接后判定节点挂掉
pidfile /usr/local/redis-cluster/redis7000/redis7000.pid #修改pid文件创建位置
logfile /usr/local/redis-cluster/redis7000/redis7000.log #修改日志文件存储位置
dir /usr/local/redis-cluster/redis7000/data/ #修改数据文件存储位置
#############

使用任意一个节点创建集群,这里使用redis7000结点创建(注意,一次创建,永久使用,以后重启集群直接从第九步开始)
cd /usr/local/redis-cluster

redis7000/src/redis-cli --cluster create  192.168.124.23:7000 192.168.124.23:7001  192.168.124.24:7002 192.168.124.24:7003  192.168.124.25:7004 192.168.124.25:7005  --cluster-replicas 1

执行该命令后会将16384个槽位平均分配给三组节点,输入Y确认

在三个服务器上分别启动节点

ubuntu@192.168.124.23:/usr/local/redis-cluster$ ./redis7000/src/redis-server redis7000/redis7000.conf
ubuntu@192.168.124.23:/usr/local/redis-cluster$ ./redis7001/src/redis-server redis7001/redis7001.conf
#----------------------------------------------------
ubuntu@192.168.124.24:/usr/local/redis-cluster$ ./redis7002/src/redis-server redis7002/redis7002.conf
ubuntu@192.168.124.24:/usr/local/redis-cluster$ ./redis7003/src/redis-server redis7003/redis7003.conf
#----------------------------------------------------
ubuntu@192.168.124.25:/usr/local/redis-cluster$ ./redis7004/src/redis-server redis7004/redis7004.conf
ubuntu@192.168.124.25:/usr/local/redis-cluster$ ./redis7005/src/redis-server redis7005/redis7005.conf

选一台服务器开启客户端,这里选择192.168.124.23的7000端口,进入客户端后可用cluster info命令查看集群是否成功启动。成功后就可以使用了。

ubuntu@192.168.124.23:/usr/local/redis-cluster$ ./redis7000/src/redis-cli -c -h 192.168.124.23 -p 7000

结束命令:(在任意一台服务器执行,这里选择192.168.124.23的Redis7000目录下)建议将命令保存在一个shell脚本文件方便运行

redis7000/src/redis-cli -c -h 192.168.124.23 -p 7000 shutdown
redis7000/src/redis-cli -c -h 192.168.124.23 -p 7001 shutdown
redis7000/src/redis-cli -c -h 192.168.124.24 -p 7002 shutdown
redis7000/src/redis-cli -c -h 192.168.124.24 -p 7003 shutdown
redis7000/src/redis-cli -c -h 192.168.124.25 -p 7004 shutdown
redis7000/src/redis-cli -c -h 192.168.124.25 -p 7005 shutdown

到此这篇关于Redis6.0搭建集群Redis-cluster的方法的文章就介绍到这了,更多相关Redis6.0搭建集群Redis-cluster内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
基于Redis实现分布式锁的方法(lua脚本版)
May 12 Redis
Java Socket实现Redis客户端的详细说明
May 26 Redis
Redis可视化客户端小结
Jun 10 Redis
Redis集群的关闭与重启操作
Jul 07 Redis
关于redisson缓存序列化几枚大坑说明
Aug 04 Redis
详解Redis在SpringBoot工程中的综合应用
Oct 16 Redis
Redis中缓存穿透/击穿/雪崩问题和解决方法
Dec 04 Redis
聊聊redis-dump工具安装问题
Jan 18 Redis
面试分析分布式架构Redis热点key大Value解决方案
Mar 13 Redis
redis复制有可能碰到的问题汇总
Apr 03 Redis
Redis基本数据类型Zset有序集合常用操作
Jun 01 Redis
redis lua限流算法实现示例
Jul 15 Redis
浅谈Redis存储数据类型及存取值方法
Redis IP地址的绑定的实现
May 08 #Redis
redis通过6379端口无法连接服务器(redis-server.exe闪退)
redis 查看所有的key方式
Redis5之后版本的高可用集群搭建的实现
详解RedisTemplate下Redis分布式锁引发的系列问题
详解Redis实现限流的三种方式
Apr 27 #Redis
You might like
PHP访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
jQuery中$.each()函数的用法引申实例
2016/05/12 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Puppet的一些技巧
2018/09/17 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
Linux 发邮件磁盘空间监控(python)
2016/04/23 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
对python列表里的字典元素去重方法详解
2019/01/21 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
HTML5中的网络存储实现方式
2020/04/28 HTML / CSS
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
Jdbc数据访问技术面试题
2012/03/30 面试题
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
物流管理毕业生自荐信范文
2014/03/15 职场文书
中班幼儿评语大全
2014/04/30 职场文书
技术比武方案
2014/05/19 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书