Redis三主三从集群规划

10.0.128.19   使用端口 7000  7001

10.0.128.22   使用端口 7002  7003

10.0.128.23   使用端口 7004  7005

redis及依赖 (3台)

下载安装包 https://redis.io/

tar xf  下载的源码包 解压到/data/redis-5.0.5

 yum -y install tcl  gcc
cd /data/redis-5.0.
make MALLOC=libc
cd src
make test
make install

关闭防火墙

systemctl status firewalld
systemctl disable firewalld

修改配置文件

节点1

mkdir -p /data/redis-5.0.5/cluster/7000

mkdir -p /data/redis-5.0.5/cluster/7001

节点2

mkdir -p /data/redis-5.0.5/cluster/7002

mkdir -p /data/redis-5.0.5/cluster/7003

节点3

mkdir -p /data/redis-5.0.5/cluster/7004

mkdir -p /data/redis-5.0.5/cluster/7005

配置文件分别拷贝3个节点的6个文件夹

cp /data/redis-5.0.5/redis.conf /data/redis-5.0.5/cluster/700X

修改配置文件, 并将修改后的配置文件复制到6个文件夹,并改相应端口和IP

 cp /data/redis-5.0./redis.conf /data/redis-5.0./cluster//
vi /data/redis-5.0./cluster//redis.conf

port 6379  >更改>   port 7000

bind 127.0.0.1  >更改>  bind 10.0.128.19

daemonize no  >更改>  daemonize yes

pidfile /var/run/redis_6379.pid  >更改>  pidfile /var/run/redis_7000.pid

cluster-enabled yes  >更改>  cluster-enabled yes

cluster-config-file nodes-6379.conf  >更改>  cluster-config-file nodes-7000.conf

cluster-node-timeout 15000  >更改>  cluster-node-timeout 15000

appendonly no  >更改>  appendonly yes

启动服务

分别在三个节点启动服务,每个节点启动2个,共6个,注意替换700X

redis-server /data/redis-5.0.5/cluster/700X/redis.conf  

创建集群

redis-cli  --cluster  create 前三个是主节点  后三个是从节点  --cluster-replicas 1

replicas 1 表示我们希望为集群中的每个主节点创建一个从节点

redis-cli  --cluster  create  10.0.128.19:7000(节点1的主)  10.0.128.22:7002(节点2的主)  10.0.128.23:7004(节点3的主)  10.0.128.19:7001(节点1的从) 10.0.128.22:7003(节点2 的从) 10.0.128.23:7005(节点3的从) --cluster-replicas 1

查看属性

直接执行

redis-cli  -h 10.0.128.19 -p 7001 cluster nodes查看节点情况

进命令行执行

[root@VM_0_22_centos 7003]# redis-cli -h 10.0.128.19 -p 7000 -c
10.0.128.19:7000> cluster info
10.0.128.19:7000> cluster nodes (查看主备分配是否正确)

可用测试

重启某一节点后,查看集群状态是否正常。

可以关闭某一个主节点,比如:10.0.128.19的7000 节点,然后进行查看主从分配状态,查看7000的主节点状态是否master,fail的状态,再次启动7000节点查看7000节点状态

创建集群后,想要重新指定节点为master或者slave

把集群节点全部停止服务,然后删除每台节点aof、rdb、nodes.conf文件删除(友情建议:备份后再删除),然后再重新执行创建集群的命令,按照自己需求重新指定主从节点。

  

 

  

搭建Redis三主三从集群的更多相关文章

  1. Docker:docker搭建redis一主多从集群(配置哨兵模式)

    角色 实例IP 实例端口 宿主机IP 宿主机端口 master 172.19.0.2 6382 192.168.1.200 6382 slave01 172.19.0.3 6383 192.168.1 ...

  2. Redis 3主-3从集群的搭建(CentOS 7)

    注意ip地址为: 虚拟机ip设置 TYPE="Ethernet"BOOTPROTO="static"NAME="enp0s3"DEVICE= ...

  3. Linux系统:Centos7环境搭建Redis单台和哨兵集群环境

    本文源码:GitHub·点这里 || GitEE·点这里 一.环境和版本 Linux:centos7 三台 三台Linux服务 192.168.72.129 192.168.72.130 192.16 ...

  4. Redis Cluster 集群三主三从高可用环境搭建

    前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用. Window环境下载地址:https://github.com/tporadowski/redis ...

  5. 在三台服务器,搭建redis三主三从集群

    一.资源准备 1.准备三台服务器H1.H2.H3 172.26.237.83 H1 172.26.237.84 H2 172.26.237.85 H3 二.配置服务器 1.在H1服务器设置SSH免密登 ...

  6. Redis集群搭建 三主三从

    Redis集群介绍 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存.Redis在3.0版本之前只支持单实例模式 虽然支持主从模式,哨兵模式 ...

  7. centos 7 两台机器搭建三主三从 redis 集群

    参考自:https://linux.cn/article-6719-1.htmlhttp://blog.csdn.net/xu470438000/article/details/42971091 ## ...

  8. 实践 - 搭建Redis一主两从三哨兵

    实践 - 搭建Redis一主两从三哨兵 原因: 最近在复习Redis的时候,学习到了为了提高Redis集群的高可用性,有一个模式为哨兵模式.哨兵模式的作用是为了在主节点出现阻塞或者错误,无法接收数据的 ...

  9. windows+mysql集群搭建-三分钟搞定集群

    注:本文来源:  陈晓婵   <  windows+mysql集群搭建-三分钟搞定集群   > 一:mysql集群搭建教程-基础篇 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一 ...

随机推荐

  1. [JZOJ5775]【NOIP2008模拟】农夫约的假期

    Description   在某国有一个叫农夫约的人,他养了很多羊,其中有两头名叫mm和hh,他们的歌声十分好听,被当地人称为“魔音”······  农夫约也有自己的假期呀!他要去海边度假,然而mm和 ...

  2. python学习-类的继承

    1.继承的语法 2.多继承 3.override(子类重写父类的方法) 4.子类调用父类中被重写的实例方法 5.使用super函数调用父类的构造方法

  3. JavaScript ES6函数式编程(三):函子

    前面二篇学习了函数式编程的基本概念和常见用法.今天,我们来学习函数式编程的最后一个概念--函子(Functor). 相信有一部分同学对这个概念很陌生,毕竟现在已经有很多成熟的轮子,基本能满足我们日常的 ...

  4. Spring Boot2 系列教程(十九)Spring Boot 整合 JdbcTemplate

    在 Java 领域,数据持久化有几个常见的方案,有 Spring 自带的 JdbcTemplate .有 MyBatis,还有 JPA,在这些方案中,最简单的就是 Spring 自带的 JdbcTem ...

  5. Token refresh的实现

    实现原理: 在access_token里加入refresh_token标识,给access_token设置短时间的期限(例如一天),给refresh_token设置长时间的期限(例如七天).当活动用户 ...

  6. leetcode算法小题(3)

    问题描述: 判断一个数是否为回文数 class Solution {      public boolean isPalindrome(int x) {           if(x<0)    ...

  7. Fine-Grained(细粒度) Image – Papers, Codes and Datasets

    Table of contents Introduction Survey papers Benchmark datasets Fine-grained image recognition Fine- ...

  8. WEB安全的历史

    exp  ===  exploit     漏洞利用代码 中国 黑客发展的 几个阶段  启蒙时代  ,黄金时代 ,黑暗时代 启蒙时代  -- 大致在 20世纪 19年代 中国互联网刚起步  一些青年收 ...

  9. 学习笔记63_python反射

    ####反射预备知识一########### __call__ 对象后面加括号,触发执行. python中,类的默认的内置方法,有一个名为__call__,如 class foo: def  __in ...

  10. [开源] gnet: 一个轻量级且高性能的 Golang 网络库

    Github 主页 https://github.com/panjf2000/gnet 欢迎大家围观~~,目前还在持续更新,感兴趣的话可以 star 一下暗中观察哦. 简介 gnet 是一个基于 Ev ...