实验环境:

  192.168.2.201 centos7 master sentinel

  192.168.2.202 centos7 slave   sentinel

  192.168.2.203 centos7 slave   sentinel

  版本:redis5.0.3

1. 下载:

  https://redis.io/download

2. 准备:

  yum install gcc gcc-c++ -y

3. 解压安装:

  mkdir -p /home/data/redis/  (数据、日志目录)
  tar -zxvf redis-5.0.3.tar.gz -C /usr/local
  cd /usr/local/redis-5.0.3
  make MALLOC=libc
  make
  make install

4. 配置 redis.conf 文件

  bind 0.0.0.0

  daemonize yes

  logfile "/home/data/redis/redis.log"

  dir "/home/data/redis"

  replicaof 192.168.2.201 6379   注:replicaof就是原来的 slaveof ,这一句只需要配置在slave节点的redis.conf里面。
  
  为了安全,aof也建议打开。

5. 启动redis

依次在三个节点执行:
[root@Node201 redis-5.0.3]# src/redis-server redis.conf

6. 查看

进入
[root@Node201 redis-5.0.3]# src/redis-cli 查看
127.0.0.1:6379> info replication

可以看到Node201为master,Node202,Node203为slave。

7.验证数据同步

1. 在master节点:
127.0.0.1:> get test
(nil)
127.0.0.1:> set test hello
OK 2. 在slave节点查看:
127.0.0.1:> get test
"hello" 注意:slave节点为了安全是只读不写的。

  127.0.0.1:6379> set test hi
  (error) READONLY You can't write against a read only replica.
  127.0.0.1:6379>

8. 验证高可用

关闭Node201的redis
127.0.0.1:6379> shutdown

此时Node202被选为master:

此时再次启动Node201,Node201只能为slave了。

9.开机启动redis

 

1. 编辑服务文件
vim /etc/systemd/system/redis-server.service [Unit]
Description=The redis-server Process Manager
After=syslog.target network.target [Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis-5.0.3/redis-server /usr/local/redis-5.0.3/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID [Install]
WantedBy=multi-user.target 2. 重新加载 systemctl daemon-reloads
systemctl start redis-server.services
systemctl enable redis-server.service 3. 创建软连接
ln -s /usr/local/redis/redis-cli /usr/bin/redis

  

redis主从+哨兵 安装配置二的更多相关文章

  1. redis主从+哨兵 安装配置一

    一.目的 实现redis的高可用. 二.同步过程 注意:当Master在后台把数据保存到快照文件完成之后,Master会把这个快照文件传送给Slave,而Slave则把内存清空后,加载该文件到内存中: ...

  2. Redis for linux安装配置之—-源码安装

    一‘redis单实例安装配置1.下载redis源码压缩包,并将其上传至服务器/usr/local2.解压redis源码压缩包  # tar -xzvf redis-3.2.12.tar.gz3.进入r ...

  3. redis主从+ 哨兵模式(sentinel)+漂移VIP实现高可用系统

    原文:https://www.jianshu.com/p/c2ab606b00b7 客户端程序 客户端程序(如PHP程序)连接redis时需要ip和port,但redis-server进行故障转移时, ...

  4. Redis主从哨兵和集群搭建

    主从配置 哨兵配置 集群配置 1.主从: 国王和丞相,国王权力大(读写),丞相权利小(读) 2.哨兵: 国王和王子,国王死了(主服务挂掉),王子继位(从服务变主服务) 3.集群: 国王和国王,一个国王 ...

  5. Redis 主从+哨兵+监控 (centos7.2 + redis 3.2.9 )

    环境准备: 192.168.0.2  redis01 主 192.168.0.3  redis02 从 192.168.0.4  redis03 从 Redis 主从搭建 一:下载并安装redis软件 ...

  6. redis 主从哨兵02

    一.为什么要复制 1.实现数据的多副本存储,从而可以实现服务的高可用 2.提供更好的读性能,分担读请求 二.复制技术的关键点及难点 1.如何指定被复制对象 2.增量还是全量,以及如何实现增量 3.复制 ...

  7. 三千字介绍Redis主从+哨兵+集群

    一.Redis持久化策略 1.RDB 每隔几分钟或者一段时间会将redis内存中的数据全量的写入到一个文件中去. 优点: 因为他是每隔一段时间的全量备份,代表了每个时间段的数据.所以适合做冷备份. R ...

  8. redis的简单安装配置

    一.简介 Redis是一种高级key-value数据库,数据可以持久化,支持的数据类型很丰富,有字符串,哈希,链表,集合和有序集合5种数据类型 Redis支持在服务器端计算集合的并,交和补集(diff ...

  9. redis主从+哨兵模式

    主从模式配置分为手动和配置文件两种方式进行配置,我现在有192.168.238.128(CentOS1).192.168.238.131(CentOS3).192.168.238.132(CentOS ...

随机推荐

  1. pacemaker入门

    原文链接:https://blog.csdn.net/a964921988/article/details/82628478 因为数据库部署在Linux上,需要做数据库集群实现高可用,而所有的Post ...

  2. javascript学习笔记 BOM和DOM详解

    js组成 我们都知道, javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异. 1. DOM 是 W ...

  3. IDEA Java 源发行版 8 需要目标发行版 1.8

     [问题记录] maven新建的一个项目,需要到一些java8的一些特性,但是在编译的时候就报错了,提示这样的错误. 我是在用二进制字面量出现的这个问题,二进制自变量是Java7的特性, 你可以这样写 ...

  4. Meta Post

    $\require{color} \require{enclose}$ 写博客的一些技巧和工具. To use the following three macros it is necessary t ...

  5. 【AtCoder】AGC008

    AGC008 A - Simple Calculator 如果符号相同,那么如果y比x大直接走,否则需要两次反号 如果符号不同,需要绝对值的差加一次反号 如果有一个是0,且y比x要小,那只需要一次反号 ...

  6. 【AtCoder】CODE FESTIVAL 2016 qual A

    CODE FESTIVAL 2016 qual A A - CODEFESTIVAL 2016 -- #include <bits/stdc++.h> #define fi first # ...

  7. SVN常用命令--Mac端【转载】

    * 版本库布局 1. trunk主干 trunk就是开发的主线,一般项目都是导入到主线来开发的. 2. branches分支 branches一般是trunk某个版本的拷贝,如果你想在某一段时间单独对 ...

  8. Thinking In Java 4th Chap3 操作符

    若String后接一‘+’运算符,其后元素自动转化为String类型 注意:若对对象赋值另一对象,操作对应的是引用,如c=d,则c和d都指向原来d指向的对象 生成随机数:Random rand=new ...

  9. 使用rsync工具构建php项目管理平台

    对于phper来说部署项目和更新项目是很方便的,只要直接将写好的项目覆盖到项目的根目录就可以啦.但是平时项目开发的时候肯定不是只部署一个环境,一般是三套环境(开发环境.测试环境.生产环境),我们每次在 ...

  10. Python补充4——替换与修改

    最近在自学Python ,在学习过程中发现一个问题,就是Python 的替换与修改. 按照中文思维,替换与修改有什么区别吗?如果发生了部分替换不就是修改了吗?如果修改了不就是新对象替换了老对象吗? 实 ...