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通过6379端口无法连接服务器(redis-server.exe闪退)
May 08 Redis
基于Redis过期事件实现订单超时取消
May 08 Redis
详解Redis主从复制实践
May 19 Redis
详解Redis集群搭建的三种方式
May 31 Redis
SpringBoot 集成Redis 过程
Jun 02 Redis
浅谈Redis中的RDB快照
Jun 29 Redis
Redis 彻底禁用RDB持久化操作
Jul 09 Redis
Redis如何实现分布式锁
Aug 23 Redis
Redis字典实现、Hash键冲突及渐进式rehash详解
Sep 04 Redis
Redis安装使用RedisJSON模块的方法
Mar 23 Redis
一文搞懂Redis中String数据类型
Apr 03 Redis
python中使用redis用法详解
Dec 24 Redis
详解RedisTemplate下Redis分布式锁引发的系列问题
详解Redis实现限流的三种方式
Apr 27 #Redis
在K8s上部署Redis集群的方法步骤
Redis持久化与主从复制的实践
浅谈Redis在直播场景的实践方案
Apr 27 #Redis
redis限流的实际应用
Apr 24 #Redis
Redis安装启动及常见数据类型
You might like
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
确保Laravel网站不会被嵌入到其他站点中的方法
2019/10/18 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
2016/07/25 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
跟老齐学Python之网站的结构
2014/10/24 Python
批处理与python代码混合编程的方法
2016/05/19 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
文秘专业应届生求职信范文
2013/11/14 职场文书
秘书岗位职责
2013/11/18 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
《锄禾》教学反思
2014/04/08 职场文书
关于安全的广播稿
2014/10/23 职场文书
改进工作作风心得体会
2016/01/23 职场文书
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL
单身狗福利?Python爬取某婚恋网征婚数据
2021/06/03 Python
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis