Redis高可用集群搭建
绪论
redis集群需要至少要三个master节点,下面将搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个redis节点,这里用三台机器部署6个redis实例,每台机器一主一从。设备为192.168.137.11、192.168.137.12和192.168.137.13
1. 下载redis
http://www.redis.cn/download.html

2.上传并解压
tar -zxvf /redis-5.0.4.tar.gz
需要将redis分别上传到三台设备上执行编译安装,下面以192.168.137.11设备上的编译 、安装和配置为例
3.编译并安装redis
需要安装gcc,如果没有安装gcc,使用yum -y install gcc 安装即可
进入到redis-5.0.4目录,make & make install 即可执行编译和安装,安装后会在/usr/local/bin目录下生成命令文件

4.拷贝并修改配置
在/opt/module目录下创建 redis文件夹,用以保存日志文件、dump文件和配置文件
mkdir -p /opt/module/redis/63{79,80}/logs

拷贝redis-5.0.4/redis.conf文件到/opt/module/redis/目录下,然后修改该配置文件。找到如下配置项,逐个修改
protected-mode no (关闭保护模式)
port 6379 daemonize yes (设置redis在后台启动) pidfile /var/run/redis_6379.pid logfile "/opt/module/redis/6379/logs/redis_6379.log" (设置日志文件的存放位置) dbfilename dump_6379.rdb (设置dump文件名)
dir "/opt/module/redis/6379" (设置dump文件和nodes文件的存放位置)
masterauth bigdata (设置集群节点间访问密码,跟上面一致) requirepass bigdata (设置redis访问密码) cluster-enabled yes (启动集群模式)
cluster-config-file nodes-6379.conf (集群节点信息文件,这里800x最好和port对应上)
cluster-node-timeout 5000
# bind 127.0.0.1 注释掉该项
拷贝上面的配置文件,分别命名为redis_6379.conf、redis_6380.conf,、vi修改redis_6380.conf文件,将6379替换为6380,命令为:%s/6379/6380/g

然后再分别将它们移动到前面所创建的6380和6379文件夹中

在192.168.137.12和192.168.137.13做同样的操作。如果配置xync了直接同步即可
5.检查配置
检查三台设备上配置是否正确

6.分别启动三台设备上的redis
启动命令为:
redis-server /opt/module/redis/6379/redis_6379.conf
redis-server /opt/module/redis/6380/redis_6380.conf
为了方便操作可以在xshell或SecureCRT中,进行批量,如下面的在SecureCRT中,设置将命令发送到所有会话

查看三台设备上的redis是否都启动成功:

7.用redis-cli创建整个redis集群
redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现,操作方法参照:https://www.cnblogs.com/wuxl360/p/5920330.html 此处使用更为便捷的redis-cli方式
redis-cli --cluster create --cluster-replicas 1 192.168.137.11:6379 192.168.137.11:6380 192.168.137.12:6379 192.168.137.12:6380 192.168.137.13:6379 192.168.137.13:6380
命令解读:代表为每个创建的主服务器节点创建一个从服务器节点,
8.验证集群
(1)连接任意一个客户端即可:./redis-cli -c -h -p (-a访问服务端密码,-c表示集群模式,指定ip地址和端口号)
redis-cli -a bigdata -c -h 192.168.137.11 -p 6379
命令解释:-a访问服务端密码,-c表示集群模式,指定ip地址和端口号

(2)cluster info(查看集群信息)

(3)cluster nodes(查看节点列表)
192.168.137.11:6379> cluster nodes
0bd7e769345f4e053bbe83dbbc467af25c299462 192.168.137.11:6379@16379 myself,slave 185b8d64263b7c31c358c327fb2c9dce9a8ed773 0 1566901074000 1 connected
6877fd706dbb17508a4c3f279703fa66706852fc 192.168.137.11:6380@16380 slave 98328749670132748f687a26b6281a4b7163801c 0 1566901073546 5 connected
fd20d54152b0101008d872314268fd17cce39b3d 192.168.137.12:6379@16379 slave dda7a654ba16cbff3b30b25418104cee3709a454 0 1566901073646 7 connected
dda7a654ba16cbff3b30b25418104cee3709a454 192.168.137.13:6380@16380 master - 0 1566901074553 7 connected 5461-10922
98328749670132748f687a26b6281a4b7163801c 192.168.137.13:6379@16379 master - 0 1566901074553 5 connected 10923-16383
185b8d64263b7c31c358c327fb2c9dce9a8ed773 192.168.137.12:6380@16380 master - 0 1566901074653 8 connected 0-5460
192.168.137.11:6379>
更为详细的配置过程,参照博客:https://blog.csdn.net/qq_42815754/article/details/82912130
Redis高可用集群搭建的更多相关文章
- 生产环境的redis高可用集群搭建
这里只是总结一下安装步骤 如果要了解redis集群高可用的原理,推荐仔细看一遍配置文件示例http://download.redis.io/redis-stable/redis.conf,源码包里也有 ...
- Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】
No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...
- Redis安装、主从配置及两种高可用集群搭建
Redis安装.主从配置及两种高可用集群搭建 一. 准备 Kali Linux虚拟机 三台:192.168.154.129.192.168.154.130.192.168.154 ...
- Redis 高可用集群
Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...
- sentinel监控redis高可用集群(一)
一.首先配置redis的主从同步集群. 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 ...
- 基于docker实现redis高可用集群
基于docker实现redis高可用集群 yls 2019-9-20 简介 基于docker和docker-compose 使用redis集群和sentinel集群,达到redis高可用,为缓存做铺垫 ...
- harbor高可用集群搭建
高可用harbor集群搭建 一.安装部署 1.节点角色 角色 数量 名称 备注 harbor主节点 2 harbor-1 harbor-2 双主模式 haproxy 2 HA-1 HA-2 需要通过k ...
- hadoop高可用集群搭建小结
hadoop高可用集群搭建小结1.Zookeeper集群搭建2.格式化Zookeeper集群 (注:在Zookeeper集群建立hadoop-ha,amenode的元数据)3.开启Journalmno ...
- Spark高可用集群搭建
Spark高可用集群搭建 node1 node2 node3 1.node1修改spark-env.sh,注释掉hadoop(就不用开启Hadoop集群了),添加如下语句 export ...
随机推荐
- 小书MybatisPlus第7篇-代码生成器的原理精讲及使用方法
本文是本系列文章的第七篇,前6篇访问地址如下: 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总结 小书Mybatis ...
- Django学习路14_获取数据库中用户名字并展示,获取指定条数
在 views.py 中添加 获取函数 注:此时获取的是全部用户的信息 def get_users(request): users = User.objects.all() context = { ' ...
- Python unichr() 函数
描述 unichr() 函数 和 chr() 函数功能基本一样, 只不过是返回 unicode 的字符.高佣联盟 www.cgewang.com 注意: Python3 不支持 unichr(),改用 ...
- PHP ftp_ssl_connect() 函数
定义和用法 ftp_ssl_connect() 函数打开一个安全的 SSL-FTP 连接. 当连接打开,您就可以在服务器运行 FTP 函数. 语法 ftp_ssl_connect(host,port, ...
- PHP imageaffine - 返回经过仿射变换后的图像
imageaffine — 返回经过仿射变换后的图像,剪切区域可选.高佣联盟 www.cgewang.com 语法 resource imageaffine ( resource $image , a ...
- 3.28 省选模拟赛 染色 LCT+线段树
发现和SDOI2017树点涂色差不多 但是当时这道题模拟赛的时候不会写 赛后也没及时订正 所以这场模拟赛的这道题虽然秒想到了LCT和线段树但是最终还是只是打了暴力. 痛定思痛 还是要把这道题给补了. ...
- Ynoi专练
为了练习分块 莫队 bitset黑科技 我会写几道Ynoi 放到这里. bitset 每一位占1bit int 每一位占 4 bitye bool占1 bitye long long 8bitye L ...
- LVS-DR:实现VIP和RIP不在同一个网络中的集群
目录 LVS-DR:实现VIP和RIP不在同一个网络中集群 1. router上配置ip转发,并测试 2. DR上配置VIP和转发规则 3. RS上配置arp内核参数和VIP 4. 配置HTTP访问 ...
- api接口返回动态的json格式?我太难了,尝试一下 linq to json
一:背景 1. 讲故事 前段时间和一家公司联调api接口的时候,发现一个奇葩的问题,它的api返回的json会动态改变,简化如下: {"Code":101,"Items& ...
- log4net用法实例
内容转载自:https://www.cnblogs.com/youring2/archive/2011/04/27/2030424.html 1.引用log4net.dll 2.在AssemblyIn ...