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 相关文章推荐
在K8s上部署Redis集群的方法步骤
Apr 27 Redis
SpringBoot 集成Redis 过程
Jun 02 Redis
详解Redis复制原理
Jun 04 Redis
redis requires ruby version2.2.2的解决方案
Jul 15 Redis
Redis三种集群模式详解
Oct 05 Redis
详解Redis在SpringBoot工程中的综合应用
Oct 16 Redis
关于SpringBoot 使用 Redis 分布式锁解决并发问题
Nov 17 Redis
Redis中有序集合的内部实现方式的详细介绍
Mar 16 Redis
高并发下Redis如何保持数据一致性(避免读后写)
Mar 18 Redis
Redis入门基础常用操作命令整理
Jun 01 Redis
Redis全局ID生成器的实现
Jun 05 Redis
Redis sentinel哨兵集群的实现步骤
Jul 15 Redis
详解RedisTemplate下Redis分布式锁引发的系列问题
详解Redis实现限流的三种方式
Apr 27 #Redis
在K8s上部署Redis集群的方法步骤
Redis持久化与主从复制的实践
浅谈Redis在直播场景的实践方案
Apr 27 #Redis
redis限流的实际应用
Apr 24 #Redis
Redis安装启动及常见数据类型
You might like
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
JQuery魔力之$("tagName")与selector
2012/03/05 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
python正则表达式抓取成语网站
2013/11/20 Python
Python标准异常和异常处理详解
2015/02/02 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
python psutil库安装教程
2018/03/19 Python
详解python3中的真值测试
2018/08/13 Python
Python range与enumerate函数区别解析
2020/02/28 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
大四毕业生学习总结的自我评价
2013/10/31 职场文书
观后感开头
2015/06/19 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python