三台服务器上离线安装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.gz
mv redis-5.0.4 /usr/local/redis
cd /usr/local/redis/redis-5.0.4
make
make install
如果执行make报错如下
致命错误:jemalloc/jemalloc.h:没有那个文件或目录
则使用
make MALLOC=libc
节点配置
现有三台虚拟机,那就按照一主二从来弄吧。进入redis.conf更改如下
192.168.1.115(主节点)
bind 192.168.1.115
daemonize yes
masterauth 666666
requirepass 666666
pidfile /st/redis/pid/redis_6379.pid
logfile "/st/redis/log/redis.log"
dir /st/redis/db/
192.168.1.113(从节点1)
bind 192.168.1.113
daemonize yes
masterauth 666666
requirepass 666666
replicaof 192.168.1.115 6379
pidfile /st/redis/pid/redis_6379.pid
logfile "/st/redis/log/redis.log"
dir /st/redis/db/
192.168.1.112(从节点2)
bind 192.168.1.112
daemonize yes
masterauth 666666
requirepass 666666
replicaof 192.168.1.115 6379
pidfile /st/redis/pid/redis_6379.pid
logfile "/st/redis/log/redis.log"
dir /st/redis/db/
哨兵配置
既然有有三台虚拟机,那就别浪费了,直接在这三台上配三个哨兵。只不过,如果挂了一台服务器,该节点会挂,该服务器上的哨兵也会挂,但是还有两个哨兵能工作,所以也能接受。不然就为哨兵单独开几个服务器。
进入sentinel.conf更改如下
192.168.1.115
daemonize yes
sentinel monitor mymaster 192.168.1.115 6379 2
sentinel auth-pass mymaster 666666
pidfile /st/redis/pid/redis-sentinel.pid
logfile "/st/redis/log/redis-sentinel.log"
dir /st/redis/tmp
192.168.1.113
daemonize yes
sentinel monitor mymaster 192.168.1.115 6379 2
sentinel auth-pass mymaster 666666
pidfile /st/redis/pid/redis-sentinel.pid
logfile "/st/redis/log/redis-sentinel.log"
dir /st/redis/tmp
192.168.1.112
daemonize yes
sentinel monitor mymaster 192.168.1.115 6379 2
sentinel auth-pass mymaster 666666
pidfile /st/redis/pid/redis-sentinel.pid
logfile "/st/redis/log/redis-sentinel.log"
dir /st/redis/tmp
启动节点
从主到次,各个节点运行,并检验
/usr/local/redis/redis-5.0.4/src/redis-server /usr/local/redis/redis-5.0.4/redis.conf
netstat -tulnp |grep redis
启动哨兵
各个哨兵运行,并检验
/usr/local/redis/redis-5.0.4/src/redis-sentinel /usr/local/redis/redis-5.0.4/sentinel.conf
ps -ef |grep redis
检查
检查主从复制,登录主节点写入信息,看看从节点有没有接收到信息
/usr/local/redis/redis-5.0.4/src/redis-cli -h 192.168.1.115
auth 666666
set name 'lgx'
登录从节点,查看能否收到信息
/usr/local/redis/redis-5.0.4/src/redis-cli -h 192.168.1.113
auth 666666
get name 'lgx'
检查哨兵监控
/usr/local/redis/redis-5.0.4/src/redis-sentinel -p 26379
sentinel master mymaster
嫌弃使用命令前一堆的目录,就注册个全局的
ln -s /usr/local/redis/redis-5.0.4/src/redis-sentinel /usr/bin/redis-sentinel
ln -s /usr/local/redis/redis-5.0.4/src/redis-server /usr/bin/redis-server
ln -s /usr/local/redis/redis-5.0.4/src/redis-cli /usr/bin/redis-cli
注意事项
上生产记得检查:防火墙,安全组,redis密码,绑定的ip,各文件的存放目录。
这是默认的目录,避免忘记配置又不知道放在哪里。
#redis节点
pidfile /var/run/redis_6379.pid
logfile ""
dbfilename dump.rdb
dir ./
#redis哨兵
pidfile /var/run/redis-sentinel.pid
logfile ""
dir /tmp
这是在防火墙中添加节点端口,哨兵端口
firewall-cmd --permanent --add-port=6379/tcp
firewall-cmd --permanent --add-port=26379/tcp//添加某个端口
firewall-cmd --reload //然后,重新加载
测试报告
主节点宕机后,立马重启,主节点切换需要一段时间,大概几秒钟,这期间若操作redis,会因为连接主节点不成功而导致操作失败。
切换的时候,节点及哨兵的配置会被自动修改,如从节点的replicaof参数,哨兵的sentinel monitor mymaster参数。
宕机重启后,节点及哨兵无法自动恢复,需要手工启动。我还以为daemonize yes是开机自启动的意思,原来是可以后台运行,不然退出redis命令行页面就会退出。
三台服务器上离线安装redis哨兵集群,一主二从三哨兵的更多相关文章
- redis环境搭建及一主二从三哨兵模式配置
一.单机redis环境搭建 1.安装: OS:linux redhat6.5 下载redis 官网下载链接:https://redis.io/download 把安装包上传到服务器,进行解压 [roo ...
- 三台服务器使用docker搭建redis一主二从三哨兵,概念-搭建-整合springboot
一.前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群. redis有两种高可用的方案: High availability with Re ...
- CentOS7 安装Redis Cluster集群
上一篇中已经讲到了如何安装单击版Redis,这一篇我们来说下如何安装Cluster,关于哨兵模式这里我就不写文章安装了,有兴趣的同学可以自己去研究,哨兵模式可以在主从模式下在创建三台机器的哨兵集群监控 ...
- docker1.12 安装redis第三方集群方案 codis
docker1.12 安装redis第三方集群方案 codis
- redis一主二从三哨兵
redis做集群的时候有很多种配置方法,一主二从三哨兵这种模式是官网推荐的.,写配置文件链接的时候,写的是哨兵地址,不是IP,用户名,密码之类的. 一主二从很好理解,一个主的redis,实时备份到两个 ...
- docker-compose一键部署redis一主二从三哨兵模式(含密码,数据持久化)
本篇基于centos7服务器进行部署开发 一.拉取redis镜像,使用如下命令 docker pull redis 1.查看镜像是否拉取成功,使用如下命令 docker images 显示如下则证明拉 ...
- docker compose搭建redis7.0.4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版】
一.前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群. redis有两种高可用的方案: High availability with Re ...
- springboot 集成Redis一主二从三哨兵
1.Centos7 Redis一主二从三哨兵配置 Redis一主二从三哨兵环境搭建 2.接入过程 与集成redis单机不同的是jedis相关的配置做了修改,JedisPool换成了JedisSenti ...
- redis 一主二从三哨兵
总体部署 一主二从三哨兵 ip地址分配分别为 主 127.0.0.1:6379 从 127.0.0.1:6389 从 127.0.0.1:6399 哨兵 127.0.0.1:26379 哨兵 127. ...
- Docker Compose搭建Redis一主二从三哨兵高可用集群
一.Docker Compose介绍 https://docs.docker.com/compose/ Docker官方的网站是这样介绍Docker Compose的: Compose是用于定义和运行 ...
随机推荐
- Spring Boot入门实验
一. 实验目的和要求 1.掌握使用 IDEA 通过 Maven 和 Spring Initializr 的方式创建 Spring Boot 应用程序: 2.掌握 Maven 的工作原理: 3.了解 s ...
- Python——比 Seaborn 更好的相关性热力图:Biokit Corrplot
目录 前言:我们需要更好的相关性热力图 对比 Python Seaborn 与 R corrplot 传统的 Seaborn 相关性热力图 R 语言中的相关性热力图 关于 Biokit 简介 库的安装 ...
- ELK日志缺失问题排查-多行日志聚合Logstash配置问题
1. 背景 推荐系统的推荐请求追踪日志,通过ELK收集,方便遇到问题时,可以通过唯一标识sid来复现推荐过程 最近在碰到了几个bad case,需要通过sid来查询推荐日志,但发现部分无法在kiban ...
- Vue2 整理(二):核心篇(组件化开发)
前言 上一篇连接:vue2 整理:基础篇. 组件化开发 组件概念 组件,对于学Java的人来说的话,这个词所要表达的意思再熟悉不过了. 所谓组件就是:面向对象中的抽象.封装思想:而所谓的组件化就是:把 ...
- JAVA文件的编译
编译实际就是翻译,是将人类易读(为啥?因为开发语言的目的就是为了让人容易使用)的语言转换为机器或程序易读的语言.Java的编译器是javac,它将.java文件编译为.class文件,也就字节码文件. ...
- P7687 题解
考场上数组开大了直接 MLE 了,气. 考虑把 A,B 两种服务分开算,一个边双连通分量内的点如过有一个有服务,那么整个联通分量就都有服务. 然后按边双联通分量缩点后原图变成树,一条边是关键路线当且仅 ...
- javascript的内存(垃圾)回收机制?
垃圾回收机制 1.js中的内存回收 在js中,垃圾回收器每隔一段时间就会找出那些不再使用的数据,并释放其所占用的内存空间. 以全局变量和局部变量来说,函数中的局部变量在函数执行结束后这些变量已经不再被 ...
- 基于 Impala 的高性能数仓建设实践之虚拟数仓
导读:本文主要介绍网易数帆 NDH 在 Impala 上实现的虚拟数仓特性,包括资源分组.水平扩展.混合分组和分时复用等功能,可以灵活配置集群资源.均衡节点负载.提高查询并发,并充分利用节点资源. 接 ...
- 首届 DIVE 精彩回顾丨践行企业数字化,基础软件如何创新
"墙高基下,虽得必失."在构建数字企业大厦的工程中,基础软件的重要性不言而喻.但对于各行各业而言,面向传统经营模式设计的基础软件已经难以支撑数字业务的创新,唯有汲取专业团队的经验, ...
- 变频器通过Modbus转Profinet网关接电机与PLC通讯在自动化的应用
巴图自动化Profinet转Modbus模块(BT-MDPN10)是一种用于不同通讯协议之间互连的设备,它可以将Profinet与Modbus这两种不同的通讯协议进行转换,从而实现设备之间的通讯和数据 ...