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 集群伸缩原理
May 15 Redis
详解Redis主从复制实践
May 19 Redis
redis实现共同好友的思路详解
May 26 Redis
聊一聊Redis与MySQL双写一致性如何保证
Jun 26 Redis
基于Redis结合SpringBoot的秒杀案例详解
Oct 05 Redis
浅谈Redis的keys命令到底有多慢
Oct 05 Redis
Redis三种集群模式详解
Oct 05 Redis
Redis安装使用RedisJSON模块的方法
Mar 23 Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 Redis
解决 Redis 秒杀超卖场景的高并发
Apr 12 Redis
Redis 报错 error:NOAUTH Authentication required
May 15 Redis
Redis基本数据类型Zset有序集合常用操作
Jun 01 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 xml常用函数的集合(比较详细)
2013/06/06 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
php自定义错误处理用法实例
2015/03/20 PHP
php post换行的方法
2020/02/03 PHP
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
javascript 复杂的嵌套环境中输出单引号和双引号
2009/05/26 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
javascript 获取浏览器版本
2015/01/21 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
jquery登录的异步验证操作示例
2019/05/09 jQuery
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
JS常用排序方法实例代码解析
2020/03/03 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python遍历numpy数组的实例
2018/04/04 Python
WxPython建立批量录入框窗口
2019/02/27 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
解决python3输入的坑——input()
2020/12/05 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
读书心得体会
2013/12/28 职场文书
公司合作协议书范本
2014/04/18 职场文书
cf战队收人口号
2014/06/21 职场文书
驾驶员安全责任书
2014/07/22 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
员工表扬信怎么写
2015/05/05 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书