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通过6379端口无法连接服务器(redis-server.exe闪退)
May 08 Redis
基于Redis实现分布式锁的方法(lua脚本版)
May 12 Redis
详解缓存穿透击穿雪崩解决方案
May 28 Redis
浅析Redis Sentinel 与 Redis Cluster
Jun 24 Redis
Redis字典实现、Hash键冲突及渐进式rehash详解
Sep 04 Redis
使用redis实现延迟通知功能(Redis过期键通知)
Sep 04 Redis
muduo TcpServer模块源码分析
Apr 26 Redis
Redis实现订单过期删除的方法步骤
Jun 05 Redis
使用Redis实现分布式锁的方法
Jun 16 Redis
一文教你快速生成MySQL数据库关系图
Jun 28 Redis
Redis+AOP+自定义注解实现限流
Jun 28 Redis
浅谈Redis存储数据类型及存取值方法
Redis IP地址的绑定的实现
May 08 #Redis
redis通过6379端口无法连接服务器(redis-server.exe闪退)
redis 查看所有的key方式
Redis5之后版本的高可用集群搭建的实现
详解RedisTemplate下Redis分布式锁引发的系列问题
详解Redis实现限流的三种方式
Apr 27 #Redis
You might like
BBS(php & mysql)完整版(二)
2006/10/09 PHP
php简单防盗链实现方法
2015/07/29 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
js判断变量是否空值的代码
2008/10/26 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
AI人工智能 Python实现人机对话
2017/11/13 Python
详解python深浅拷贝区别
2019/06/24 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
几个判断型的面试题
2012/07/03 面试题
Unix如何添加新的用户
2014/08/20 面试题
销售辞职报告范文
2014/01/12 职场文书
法律七进实施方案
2014/03/15 职场文书
公司年会策划方案
2014/05/17 职场文书
校园绿化美化方案
2014/06/08 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
开学典礼校长致辞
2015/07/29 职场文书
早安问候语大全
2015/11/10 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript