三台机器分布

192.168.189.129  //  master的角色

192.168.189.130  //  slave1的角色

192.168.189.131  //  salve2的角色

三台服务器安装redis

1
2
3
4
5
6
cd /usr/local/src
 
tar zxf redis-5.0.6.tar.gz
cd redis-5.0.6
make && make isntall
cp redis.conf /etc/

  

编译主redis的配置文件

1
2
3
4
5
vim /etc/redis.conf
---------------------------------------------
bind 0.0.0.0
daemonize yes  //后台运行
---------------------------------------------

  

编译从redis两台机器的配置文件

1
2
3
bind 0.0.0.0
daemonize yes
replicaof 192.168.18.140 6379  //这条是注释的在原配置文件中可以自己解开注释  写的是主的redis的IP和地址

  

redis服务开启

1
redis-server /etc/redis.conf
1
2
3
4
5
[root@localhost redis-5.0.5]# redis-cli  //执行这条命令可以看看到身份 是master  有两个从的主机
127.0.0.1:6379> info
# Replication
role:master
connected_slaves:2   //从的redis的个数

  

从机器:

1
2
[root@localhost ~]# redis-cli
127.0.0.1:6379> info
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Replication
role:slave    #角色为从
master_host:127.0.0.1
master_port:6379  #端口
master_link_status:down
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:12431
master_link_down_since_seconds:254
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:c19f164c73069fbf600c31c999ee3d67363c946e
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:12431
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:12431

  在主redis中写入数据, 在从的redis查看是否可以获得

1
2
3
4
5
6
在主写入数据
127.0.0.1:6379> set name zhou
OK
在从上可以获取到
127.0.0.1:6379> get name
"zhou"

  

开启redis的哨兵模式

接下来的操作可以完成redis的哨兵模式 哨兵模式的完成实在redis的主从基础上完成的。

三台redis都做如下操作

1
cp /usr/local/src/redis-5.0.6/sentinel.conf /etc/
1
2
3
4
5
vim /etc/sentinel.conf
---------------------------------------------------------
protected-mode no
sentinel monitor mymaster 192.168.189.130 6379 2
----------------------------------------------------------
1
redis-server /etc/sentinel.conf --sentinel #哨兵模式的开启命令

  测试哨兵

关闭redis主的服务器,可以看到从机器的选举过程表示成功

效果演示:

redis操作命令总结:

1
2
3
4
5
redis-server /etc/redis.conf  #开启redis服务
 
redis-cli    #进入redis进行存储数据或读取数据
 
redis-server /etc/sentinel.conf --sentinel    #哨兵的枚举与查看

redis主从+哨兵模式(借鉴)的更多相关文章

  1. redis主从+哨兵模式

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

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

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

  3. redis主从+redis的哨兵模式

    三台机器分布 192.168.189.129  //  master的角色 192.168.189.130  //  slave1的角色 192.168.189.131  //  salve2的角色 ...

  4. linux系统——Redis集群搭建(主从+哨兵模式)

    趁着这几天刚好有点空,就来写一下redis的集群搭建,我跟大家先说明,本文的redis集群因为linux服务器只是阿里云一台服务器,所以集群是redis启动不同端口,但是也能达到集群的要求.其实不同服 ...

  5. redis的哨兵模式

    我是在一台服务器上安装了三个redis  一主两从 想安装gcc gcc-c++ make tcl  lrzsz yum -y install gcc gcc-c++ make tcl  lrzsz ...

  6. Redis进阶:Redis的哨兵模式搭建

    Redis进阶:Redis的哨兵模式搭建 哨兵机制介绍 单机版的Redis存在性能瓶颈,Redis通过提高主从复制实现读写分离,提高了了Redis的可用性,另一方便也能实现数据在多个Redis直接的备 ...

  7. Redis-Sentinel Redis的哨兵模式

    Redis-Sentinel Redis的哨兵模式Redis Sentinel 模式简介Redis-Sentinel是官方推荐的高可用解决方案,当redis在做master-slave的高可用方案时, ...

  8. docker+redis安装与配置,主从+哨兵模式

    docker+redis安装与配置 docker安装redis并且使用redis挂载的配置启动 1.拉取镜像 docker pull redis:3.2 2.准备准备挂载的目录和配置文件 首先在/do ...

  9. redis 五大类型 、持久化方式以及主从(哨兵模式)

    一.redis 五大类型: redis 键 keys * exists key的名字,判断某个key 是否存在 move key db 当前数据库就没有了,被移除了 ttl key 查看还有多少秒过期 ...

随机推荐

  1. Oracle体系结构2

    Buffer Cache 作用:缓存dbf中的数据 例子:A和B重复访问同一张表的几率是很大的,如果每次访问dbf时都要发生物理IO,这样会导致数据库的性能非常低 由于这个例子,当一个进程访问dbf时 ...

  2. 1502: [NOI2005]月下柠檬树

    一堆圆台平行光的投影 在草稿纸上画一下,发现对于一个圆,它投影完还是一个半径不变的圆. 定义树的轴在投影平面上经过的点为原点,定一个正方向,建立平面直角坐标系, 能发现,对于一个半径为\(r\),高度 ...

  3. String类型中"=="和"equals"的区别

    "=="比较的是两个字符串的内存地址.  "equals"比较的是两个字符串的实际值. 例子1. String s1="abc"; Stri ...

  4. Java indexOf() 方法

    indexOf() 方法有以下四种形式: public int indexOf(int ch): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1. public ...

  5. Java中String.getBytes()

    在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不通OS下,返回的东西不一样!  String.getBytes(String decode) ...

  6. C++入门经典-例5.1-输出变量的指针

    1:代码如下: // 5.1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  7. MySQL 获取格林时间

    SELECT *FROM 表面WHERE DATE_SUB( NOW( ), INTERVAL 3 MINUTE ) <= CONVERT_TZ( 时间字段, @@SESSION.time_zo ...

  8. SpringApplication及banner的配置

    配置SpringApplication 如果SpringApplication无法满足要求,你可以自己创建一个局部实例,然后对其进行设置: public static void main(String ...

  9. 套接字之close系统调用

    close系统调用用于关闭文件描述符,其系统调用实现如下所示: / * Careful here! We test whether the file pointer is NULL before * ...

  10. 有关sublime的一些使用

    习惯了vs的快捷键,用sublime的时候始终感觉不太跟手. 点击 “首选项”→“按键绑定-默认” 在新的界面中就可以更改你想要的快捷键了. 1.自动格式化对齐: 查找 "command&q ...