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
Redis6.0搭建集群Redis-cluster的方法
May 08 Redis
Redis 哨兵集群的实现
Jun 18 Redis
了解Redis常见应用场景
Jun 23 Redis
Redis入门教程详解
Aug 30 Redis
Redis字典实现、Hash键冲突及渐进式rehash详解
Sep 04 Redis
Redis中缓存穿透/击穿/雪崩问题和解决方法
Dec 04 Redis
Redis实现一个账号只能登录一个设备
Apr 19 Redis
Redis特殊数据类型bitmap位图
Jun 01 Redis
Redis keys命令的具体使用
Jun 05 Redis
Redis全局ID生成器的实现
Jun 05 Redis
Redis实现订单过期删除的方法步骤
Jun 05 Redis
详解RedisTemplate下Redis分布式锁引发的系列问题
详解Redis实现限流的三种方式
Apr 27 #Redis
在K8s上部署Redis集群的方法步骤
Redis持久化与主从复制的实践
浅谈Redis在直播场景的实践方案
Apr 27 #Redis
redis限流的实际应用
Apr 24 #Redis
Redis安装启动及常见数据类型
You might like
PHP实现异步调用方法研究与分享
2011/10/27 PHP
php中数组首字符过滤功能代码
2012/07/31 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
javascript jQuery插件练习
2008/12/24 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
使用python实现strcmp函数功能示例
2014/03/25 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
python中enumerate函数用法实例分析
2015/05/20 Python
详解python调度框架APScheduler使用
2017/03/28 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
德国网上超市:myTime.de
2019/08/26 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
化工实习心得体会
2014/09/09 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
共青团员自我评价
2015/03/10 职场文书
队名及霸气口号大全
2015/12/25 职场文书
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL