Redis5之后版本的高可用集群搭建的实现


Posted in Redis onApril 27, 2021

一、安装redis

1、安装gcc

yum install gcc

2、下载redis-5.0.8.tar.gz

3、把下载好的redis-5.0.8.tar.gz放在/gyu/software文件夹下,并解压

> tar xzf redis-5.0.8.tar.gz
> cd redis-5.0.8

4、进入到解压好的redis-5.0.8目录下,进行编译与安装

> make & make install

5、启动并指定配置文件

> src/redis-server redis.conf

(注意要使用后台启动,所以修改redis.conf里的daemonize改为yes)

6、验证启动是否成功

> ps -ef | grep redis

7、进入redis客户端

> cd /gyu/software/redis-5.0.8/src
> ./redis-cli

8、退出客户端

> exit

9、退出redis服务

> pkill redis-server
> kill -9 进程号
> src/redis-cli shutdown

二、开始集群搭建

redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点,这里用一台机器(可以多台机器部署,修改一下ip地址就可以了)部署6个redis实例,三主三从,搭建集群的步骤如下:

第一步:在第一台机器的/gyu/software下创建文件夹redis-cluster,然后在其下面创建6个文件?A如下:

> mkdir -p gyu/software/redis-cluster

> mkdir 8001 8002 8003 8004 8005 8006

第二步:把之前的redis.conf配置文件copy到8001下,修改如下内容:

1)daemonize yes

2)port 8001(分别对每个机器的端口号进行设置)

3)dir /usr/local/redis-cluster/8001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)

4)cluster-enabled yes(启动集群模式)

5)cluster-config-file nodes-8001.conf(集群节点信息文件,这里800x最好和port对应上)

6)cluster-node-timeout 5000

bind 127.0.0.1(去掉bind绑定访问ip信息)

protected-mode no (关闭保护模式)

9)appendonly yes

如果要设置密码需要增加如下配置:
10)requirepass xxx (设置redis访问密码)

11)masterauth xxx (设置集群节点间访问密码,跟上面一致)

第三步:把修改后的配置文件,copy到8002-8006,修改第2、3、5项里的端口号,可以用批量替换:

> %s/源字符串/目的字符串/g

第四步:分别启动6个redis实例,然后检查是否启动成功

/gyu/software/redis-5.0.8/src/redis-server /gyu/software/redis-cluster/8001/redis.conf
/gyu/software/redis-5.0.8/src/redis-server /gyu/software/redis-cluster/8002/redis.conf
/gyu/software/redis-5.0.8/src/redis-server /gyu/software/redis-cluster/8003/redis.conf
/gyu/software/redis-5.0.8/src/redis-server /gyu/software/redis-cluster/8004/redis.conf
/gyu/software/redis-5.0.8/src/redis-server /gyu/software/redis-cluster/8005/redis.conf
/gyu/software/redis-5.0.8/src/redis-server /gyu/software/redis-cluster/8006/redis.conf

Redis5之后版本的高可用集群搭建的实现

查看是否启动成功

> ps -ef | grep redis

Redis5之后版本的高可用集群搭建的实现

第五步:用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现)

/gyu/software/redis-5.0.8/src/redis-cli --cluster create --cluster-replicas 1 192.168.1.49:8001 192.168.1.49:8002 192.168.1.49:8003 192.168.1.49:8004 192.168.1.49:8005 192.168.1.49:8006

Redis5之后版本的高可用集群搭建的实现

(这里有个确认的过程手动输入 yes)

第七步:验证集群:
1)连接任意一个客户端即可:

> ./redis-cli -c -a xxx -h 192.168.1.49 -p 8001

提示:-a访问服务端密码(这里我没有设置密码可以省略),-c表示集群模式,指定ip地址和端口号

例如:

> ./redis-cli -c -h 192.168.5.100 -p 8001

Redis5之后版本的高可用集群搭建的实现

2)进行验证: cluster info(查看集群信息)、cluster nodes(查看节点列表)

Redis5之后版本的高可用集群搭建的实现

3)进行数据操作验证,关闭集群则需要逐个进行关闭,使用命令:

> /gyu/software/redis-5.0.8/src/redis-cli  -c -h 192.168.1.49 -p 8001 shutdown

Redis5之后版本的高可用集群搭建的实现

到此这篇关于Redis5之后版本的高可用集群搭建的实现的文章就介绍到这了,更多相关Redis5 高可用集群搭建内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
redis配置文件中常用配置详解
Apr 14 Redis
浅谈Redis在直播场景的实践方案
Apr 27 Redis
为Java项目添加Redis缓存的方法
May 18 Redis
redis实现共同好友的思路详解
May 26 Redis
Redis可视化客户端小结
Jun 10 Redis
Redis集群的关闭与重启操作
Jul 07 Redis
Springboot/Springcloud项目集成redis进行存取的过程解析
Dec 04 Redis
Redis之RedisTemplate配置方式(序列和反序列化)
Mar 13 Redis
面试分析分布式架构Redis热点key大Value解决方案
Mar 13 Redis
Redis特殊数据类型bitmap位图
Jun 01 Redis
一文教你快速生成MySQL数据库关系图
Jun 28 Redis
Redis过期数据是否会被立马删除
Jul 23 Redis
详解RedisTemplate下Redis分布式锁引发的系列问题
详解Redis实现限流的三种方式
Apr 27 #Redis
在K8s上部署Redis集群的方法步骤
Redis持久化与主从复制的实践
浅谈Redis在直播场景的实践方案
Apr 27 #Redis
redis限流的实际应用
Apr 24 #Redis
Redis安装启动及常见数据类型
You might like
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
PHP无限分类的类
2007/01/02 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
javascript操作符"!~"详解
2015/02/10 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
Django中Middleware中的函数详解
2019/07/18 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
python FTP编程基础入门
2021/02/27 Python
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
GWT都有什么特性
2016/12/02 面试题
追悼会主持词
2014/03/20 职场文书
慰问信范文
2015/02/14 职场文书
小学教师自我评价
2015/03/04 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
地道战观后感500字
2015/06/04 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
python运行脚本文件的三种方法实例
2022/06/25 Python