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 27 Redis
Redis IP地址的绑定的实现
May 08 Redis
Redis 配置文件重要属性的具体使用
May 20 Redis
聊一聊Redis与MySQL双写一致性如何保证
Jun 26 Redis
redis不能访问本机真实ip地址的解决方案
Jul 07 Redis
解析redis hash应用场景和常用命令
Aug 04 Redis
使用redis生成唯一编号及原理示例详解
Sep 15 Redis
详解Redis在SpringBoot工程中的综合应用
Oct 16 Redis
使用Redis做预定库存缓存功能
Apr 02 Redis
解决 redis 无法远程连接
May 15 Redis
Redis基本数据类型Set常用操作命令
Jun 01 Redis
基于redis+lua进行限流的方法
Jul 23 Redis
详解RedisTemplate下Redis分布式锁引发的系列问题
详解Redis实现限流的三种方式
Apr 27 #Redis
在K8s上部署Redis集群的方法步骤
Redis持久化与主从复制的实践
浅谈Redis在直播场景的实践方案
Apr 27 #Redis
redis限流的实际应用
Apr 24 #Redis
Redis安装启动及常见数据类型
You might like
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
php实现html标签闭合检测与修复方法
2015/07/09 PHP
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
深入理解js promise chain
2016/05/05 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
Python中join和split用法实例
2015/04/14 Python
python中字符串前面加r的作用
2015/06/04 Python
python调用fortran模块
2016/04/08 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
python实现二叉查找树实例代码
2018/02/08 Python
基于python实现KNN分类算法
2020/04/23 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
通信工程专业女生个人求职信
2013/09/21 职场文书
料理师求职信
2014/01/30 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS
python中使用redis用法详解
2022/12/24 Redis