绪论

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高可用集群搭建的更多相关文章

  1. 生产环境的redis高可用集群搭建

    这里只是总结一下安装步骤 如果要了解redis集群高可用的原理,推荐仔细看一遍配置文件示例http://download.redis.io/redis-stable/redis.conf,源码包里也有 ...

  2. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  3. Redis安装、主从配置及两种高可用集群搭建

    Redis安装.主从配置及两种高可用集群搭建 一.            准备 Kali Linux虚拟机 三台:192.168.154.129.192.168.154.130.192.168.154 ...

  4. Redis 高可用集群

    Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...

  5. sentinel监控redis高可用集群(一)

    一.首先配置redis的主从同步集群. 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 ...

  6. 基于docker实现redis高可用集群

    基于docker实现redis高可用集群 yls 2019-9-20 简介 基于docker和docker-compose 使用redis集群和sentinel集群,达到redis高可用,为缓存做铺垫 ...

  7. harbor高可用集群搭建

    高可用harbor集群搭建 一.安装部署 1.节点角色 角色 数量 名称 备注 harbor主节点 2 harbor-1 harbor-2 双主模式 haproxy 2 HA-1 HA-2 需要通过k ...

  8. hadoop高可用集群搭建小结

    hadoop高可用集群搭建小结1.Zookeeper集群搭建2.格式化Zookeeper集群 (注:在Zookeeper集群建立hadoop-ha,amenode的元数据)3.开启Journalmno ...

  9. Spark高可用集群搭建

    Spark高可用集群搭建 node1    node2    node3   1.node1修改spark-env.sh,注释掉hadoop(就不用开启Hadoop集群了),添加如下语句 export ...

随机推荐

  1. linux日志朔源分析记录

    lastlog 记录用户最后一次登录情况 只有root最近登录过 lastlog -u 用户名或者uid uid 直接在passwd文件中的低三位可以看到 lastb 记录用户用户登录失败的用户记录, ...

  2. 使样式只在webkit内核生效

    @media screen and (-webkit-min-device-pixel-ratio:0){ .do someting{ } }     使用媒体查询,制定样式

  3. queue stack for STL

    前不久发现自己vector有些不会了,于是想起了queue和stack. 有一个小故事,,,某天我跟自己打赌我queue没有写博园,结果打开一看竟然不知什么时候写过了,而且(QAQ)还有一定的浏览量了 ...

  4. matplotlib示例

    plt.plot 内只有一个列表示例 import matplotlib.pyplot as plt lst = [4.53,1.94,4.75,0.43,2.02,1.22,2.13,2.77] p ...

  5. PHP xml_set_character_data_handler() 函数

    定义和用法 xml_set_character_data_handler() 函数为 XML 解析器建立字符数据处理器. 该函数规定当解析器在 XML 文件中找到字符数据时所调用的函数.高佣联盟 ww ...

  6. PHP __construct() 函数

    实例 函数创建一个新的 SimpleXMLElement 对象,然后输出 body 节点的内容:高佣联盟 www.cgewang.com <?php $note=<<<XML ...

  7. CSMA/CD协议(载波侦听多路访问/碰撞检测) 最小帧长理解

    以下的帧长有的是指帧的时间长度,帧的时间长度=  帧长/传输时延

  8. Requests接口测试库-官网快速上手

    Requests 一个发送HTTP请求的库基于urllib3,相比自带的库,提供了更高效简洁的可用方法,测试从业者用来做接口测试的一个好工具 文章内容均来自官网:https://requests.re ...

  9. 【目标检测】:SPP-Net深入理解(从R-CNN到SPP-Net)

    一. 导论 SPP-Net是何凯明在基于R-CNN的基础上提出来的目标检测模型,使用SPP-Net可以大幅度提升目标检测的速度,检测同样一张图片当中的所有目标,SPP-Net所花费的时间仅仅是RCNN ...

  10. SmartDb代码修改

    在之前的一篇博客中介绍过SmartDB(https://blog.csdn.net/wuquan_1230/article/details/89145012),在使用的过程中发现一个问题,会造成内存泄 ...