redis一主二从加哨兵

redis版本:redis-3.0.6.tar.gz

master:192.168.3.180

slave:192.168.3.184 (机器原因,两从都在这上面)

一.redis安装

cd /root/tools/
tar -zxvf redis-3.0.6.tar.gz
cd redis-3.0.6
make install PREFIX=/usr/local/redis
ln -s /usr/local/redis/bin/redis-cli /usr/local/bin/redis-cli
cp utils/redis_init_script /etc/init.d/redis
mkdir /etc/redis
cp redis.conf /etc/redis/6379.conf
cp -rp sentinel.conf /etc/redis/sentinel_26379.conf

二.配置

主服务器上redis

vim 6379.conf
daemonize yes
pidfile /var/run/redis_6379.pid
port 6379
bind 0.0.0.0  (很重要,否则主从同步会失败)
logfile "/var/log/redis_6379.log"
dbfilename "dump_6379.rdb"
dir "/opt/redis/6379"
requirepass 123456 (设置redis密码) 

哨兵sentinel (本文只有一个哨兵,哨兵也可以部署多台机器,形成哨兵集群,避免单点的问题,保证系统的高可用。)

#修改或添加以下几项
vim sentinel_26379.conf
port 26379
daemonize yes
logfile "/tmp/sentinel.log"
dir "/opt/redis/redis_sentinel"
sentinel monitor mymaster 192.168.3.180 6379 1
(最后的数字1指明当有多少个sentinel认为一个master失效时,master才算真正失效)
sentinel parallel-syncs mymaster 2
(最后的数字2表示有多少个slave)

从服务器上

#从服务器配置可复制主服务器的,只需要修改相应端口和修改添加以下一行即可
slaveof 192.168.3.180 6379  (指定主redis)

测试:

分别启动master和两个slave

master上:

[[email protected] tmp]# redis-cli -p 6379
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.3.184,port=6391,state=online,offset=190442,lag=0
slave1:ip=192.168.3.184,port=6390,state=online,offset=190442,lag=0
master_repl_offset:190442
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:190441

slave上:

[[email protected] redis]# redis-cli -p 6390
127.0.0.1:6390> info replication
# Replication
role:slave
master_host:192.168.3.180
master_port:6379
master_link_status:up

[[email protected] redis]# redis-cli -p 6391
127.0.0.1:6391> info replication
# Replication
role:slave
master_host:192.168.3.180
master_port:6379
master_link_status:up

以上可看到已经完成主从同步,也可以去看看slave的启动日志,查看同步实时信息

[[email protected] redis]# tailf /var/log/redis_6390.log
4706:S 28 Jan 13:05:29.985 * Connecting to MASTER 192.168.3.180:6390
4706:S 28 Jan 13:05:29.985 * MASTER <-> SLAVE sync started
4706:S 28 Jan 13:05:29.986 * Non blocking connect for SYNC fired the event.
4706:S 28 Jan 13:05:29.987 * Master replied to PING, replication can continue...
4706:S 28 Jan 13:05:29.987 * Partial resynchronization not possible (no cached master)
4706:S 28 Jan 13:05:29.989 * Full resync from master: 4da2c58d50928717d9a45216ced5c36a45a3b78c:29
4706:S 28 Jan 13:05:30.055 * MASTER <-> SLAVE sync: receiving 18 bytes from master
4706:S 28 Jan 13:05:30.055 * MASTER <-> SLAVE sync: Flushing old data
4706:S 28 Jan 13:05:30.055 * MASTER <-> SLAVE sync: Loading DB in memory
4706:S 28 Jan 13:05:30.055 * MASTER <-> SLAVE sync: Finished with success

三.哨兵启用

进入redis的安装目录可以看到

[[email protected] bin]# ls
dump.rdb  redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-sentinel  redis-server
[[email protected] bin]# pwd
/usr/local/redis/bin

启动哨兵

./redis-sentinel /etc/redis/sentinel_26379.conf

原文地址:https://www.cnblogs.com/dannylinux/p/10330001.html

时间: 2024-10-12 19:03:45

redis一主二从加哨兵的相关文章

三台服务器上离线安装redis哨兵集群,一主二从三哨兵

三台服务器上离线安装redis哨兵集群,一主二从三哨兵 系统安装好gcc环境,(不然编译redis会报错).依旧不知道怎么离线安装gcc环境的可查看CentOS下离线安装gcc环境,图文详细 下载 点击官网地址下载Linux版的redis http://download.redis.io/releases/redis-5.0.4.tar.gz 上传 put D:\AppStore\redis\redis-5.0.4.tar.gz /root 安装 tar xzf redis-5.0.4.tar.

redis 的一主二从三哨兵模式

概述 在部署redis 的时候,如果redis宕机,缓存将不可用,redis提供了哨兵模式保证redis实现高可用. 即一台主机两台从机,三台哨兵主机,如果主实例宕机,哨兵将将一台从机升级为主机.实现高可用. 配置方法 1.IP地址配置如下 主 127.0.0.1 6001 从 127.0.0.1 6002 从 127.0.0.1 6003 哨兵 127.0.0.1 16001 127.0.0.1 16002 127.0.0.1 16002 2.修改配置 将 redis.con 拷贝两份 red

redis cluster单机伪分布式搭建--- 3主3从3哨兵集群

redis cluster单机伪分布式搭建--- 3主3从3哨兵集群 最近公司引进微服务框架,之前的一台redis的预存60G已经无法满足现在的260G业务需要,经过一番考虑搭建了这套集群 . 为了方便我就用一台服务器演示,生产环境中不建议这么做(没啥用),只为记录一下过程,至于精细化的配置需要在生产中自行研究 演示环境 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) redi

centos7配置Redis(二主二从)

配置环境:两台虚拟机 关闭防火墙和SElinux systemctl stop firewalld setenforce 0 两台虚拟机必须连的是同一个网必须在同一个网段 同一个网段 在两台虚拟机上边,下载配置Redis cd /usr/local/src wget http://download.redis.io/releases/redis-3.2.4.tar.gz tar -zxvf redis-3.2.4.tar.gz 然后进入redis-3.2.4目录中,编译安装: make &&

Redis三种集群模式-哨兵机制

Redis哨兵机制,一主二从 注:Redis哨兵切换,建议一主多从 一.一主二从 教程步骤:https://www.cnblogs.com/pinghengxing/p/11139997.html 二.哨兵配置(sentinel.conf) 哨兵机制也分单台以及集群,在此我们只构建哨兵集群      cd /usr/software/redis/redis-ms/ 1.创建哨兵目录 /usr/software/redis/redis-ms/sentinel/26001 /usr/software

(六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https://blog.csdn.net/qq_28804275/article/details/80938659 下载redis镜像(不带tag标签则表示下载latest版本) docker pull redis 从github 下载最新的redis.conf,注意重要参数 # 端口 port 6379 #

Redis操作篇(二)

redis的发布与订阅,主从架构,哨兵架构,cluster集群 下载编译安装redis # 1. 下载redis wget http://download.redis.io/releases/redis-4.0.10.tar.gz # 2. 解压缩 tar -zxvf redis-4.0.10.tar.gz # 3.进入源代码, 开始编译安装 cd redis-4.0.10 执行: make && make install # 4.启动redis服务 和客户端 /usr/local/bin

keepalived实现redis双主备份

现在的生产环境基本上都采用主备方式,而如何实现redis的主备呢?一般情况下,redis实现主从复制比较简单,只需要在从服务器的配置文件里配置 "slaveof "即可.但这样存在一个问题:主服务器挂掉时,可临时将业务地址转移到从服务器,但从服务器无法进行写操作.为解决这个问题,在网上查找了一些资料.主要有以下几种方案 使用keepalived+监控脚本实现主备切换 使用rediscluster实现双主切换,原理就是模仿MySQL的bin-log机制. 本文介绍一下第一种方案 设计思路

EasyUI1.4.2 DataGrid二次加载的问题

最近在使用EasyUI1.4.2的DataGrid的过程中,发现了两个会二次加载的情况: 第一个是在页面初始化的时候,如果给datagrid指定了URL属性,而且pageNumber属性没有设置为1的时候,就会出现二次加载的情况. 第二个是条件查询的时候,填上条件之后,直接点击分页栏的左右按钮,这个时候,会产生两次请求,第一次请求是正常的带条件的请求,第二次请求是请求URL属性设置的地址,最后表格中的数据也是请求URL属性设置的地址返回的结果. 解决方案: 第一个问题比较好解决,将pageNum