首页 > 数据库 >手摸手Redis7配置哨兵模式(一主二从三哨兵)

手摸手Redis7配置哨兵模式(一主二从三哨兵)

时间:2023-10-26 10:05:43浏览次数:41  
标签:opt cli Redis7 redis 哨兵 master conf sentinel 一主二


安装redis

#安装gcc 
yum -y install gcc gcc-c++
#安装net-tools
yum -y install net-tools
#官网https://redis.io/
cd /opt/
wget http://download.redis.io/releases/redis-7.0.4.tar.gz
解压至/opt/目录下
tar -zxvf redis-7.0.4.tar.gz -C /opt/

手摸手Redis7配置哨兵模式(一主二从三哨兵)_前端

#编译安装
make
make install

手摸手Redis7配置哨兵模式(一主二从三哨兵)_前端_02

手摸手Redis7配置哨兵模式(一主二从三哨兵)_Redis_03

INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli

手摸手Redis7配置哨兵模式(一主二从三哨兵)_bootstrap_04

//启动redis 
redis-server 或 nohup redis-server &
//配置后台启动
redis-server /opt/redis/redis.conf
//停止redis
redis-cli shutdown

#daemonize配置该为yes
vim redis.conf

手摸手Redis7配置哨兵模式(一主二从三哨兵)_Redis_05

#配置redis开机自启
vim /etc/systemd/system/redis.service

[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/opt/redis/src/redis-server /opt/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
//重载系统服务
systemctl daemon-reload
systemctl start redis
systemctl status redis
systemctl restart redis
//开机自启
systemctl enable redis

手摸手Redis7配置哨兵模式(一主二从三哨兵)_html_06

#修改配置密码(根据个人需求修改密码)
find / -name redis.conf
vim redis.conf

手摸手Redis7配置哨兵模式(一主二从三哨兵)_bootstrap_07

#创建 redis 命令软链接
find / -name redis-cli
ln -s /usr/local/bin/redis-cli /usr/bin/redis
redis
//登录redis
redis-cli
auth 密码

redis-cli -h 127.0.0.1 -p 6379
redis-cli -h 127.0.0.1 -p 6379 -a 密码
redis-cli -a 密码

手摸手Redis7配置哨兵模式(一主二从三哨兵)_bootstrap_08

手摸手Redis7配置哨兵模式(一主二从三哨兵)_bootstrap_09

#查看所有6379端口使用情况
netstat -ntulp |grep 6379
netstat -ntulp |grep redis

手摸手Redis7配置哨兵模式(一主二从三哨兵)_html_10

连接配置

vim /opt/redis/redis.conf

注释 bind

#注释 
#bind 127.0.0.1 -::1  //bind 127.0.0.1 -::1表示只本机使用 ,注释后表示任意连接

手摸手Redis7配置哨兵模式(一主二从三哨兵)_redis_11

关闭保护模式(自己访问自己)

手摸手Redis7配置哨兵模式(一主二从三哨兵)_前端_12

命令重命名

flushall与flushdb根据项目情况使用

flushall删除所有

flushdb删除当前数据库

rename-command flushall "" #表示flushall不能使用 
rename-command flushdb ""

手摸手Redis7配置哨兵模式(一主二从三哨兵)_Redis_13

Redis客户端

命令行客户端

redis-cli -h 127.0.0.1 -p 6379
redis-cli -h 127.0.0.1 -p 6379 -a 密码

图形化桌面客户端

8.8版本后商业化收费

RedisDesktopManager

官网:https://resp.app/

GitHub - RedisInsight/RedisDesktopManager

链接:https://pan.baidu.com/s/1y3cdOqS1E2UIGW22nr9zNQ?pwd=QGS1 
提取码:QGS1

手摸手Redis7配置哨兵模式(一主二从三哨兵)_html_14

RedisPlus

RedisPlus: RedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows 、Linux 、Mac三大系统平台,RedisPlus提供更加高效、方便、快捷的使用体验,有着更加现代化的用户界面风格。

手摸手Redis7配置哨兵模式(一主二从三哨兵)_html_15

RedisDesktopManager-Windows

Releases · lework/RedisDesktopManager-Windows · GitHub

手摸手Redis7配置哨兵模式(一主二从三哨兵)_html_16

Redis主从集群搭建

Redis的主从集群是一个“一主多从”的读写分离集群。集群中的 Master节点负责处理客户端的读写请求,而 Slave节点仅能处理客户端的读请求。只所以要将集群搭建为读写分离模式,主要原因是,对于数据库集群,写操作压力一般都较小,压力大多数来自于读操作请求。所以,只有一个节点负责处理写操作请求即可。

要搭建主从集群,且每个主机都有可能会是 Master,所以最好不要设置密码验证属性 requirepass如果真需要设置,一定要每个主机的密码都设置为相同的。此时每配置文件中都要设置两个完全相同的属性: requirepass与 masterauth。其中 requirepass用于指定当前主机的访问密码,而 masterauth用于指定当前save访问 master时向 master提交的访问密码,用于让 master验证自己身份是否合法

repl-disable-tcp-nodelay no         

该属性用于设置是否禁用TCP特性tcp-nodelay。设置为yes则禁用tcp- nodelay,此时master与 slave间的通信会产生延迟,但使用的TCP包数量会较少,占用的网络带宽会较小相反,如果设置为no,则网络延迟会变小,但使用的TCP包数量会较多,相应占用的网络带宽会大

tcp-nodelay:为了充分复用网络带宽,TCP总是希望发送尽可能大的数据块。

主从的redis.conf配置是一样的
从机多了一个  slaveof 主机ip 端口

或者进入redis配置
两台从机
#从主机向master发送slaveof IP port  表示作为他的从机
slaveof 127.0.0.1 6379

手摸手Redis7配置哨兵模式(一主二从三哨兵)_Redis_17

info replication

slaveof 127.0.0.1 6379

从主机向master发送slaveof IP port  表示作为他的从机

info replication

手摸手Redis7配置哨兵模式(一主二从三哨兵)_bootstrap_18

哨兵模式

哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有slave连接到新的master

手摸手Redis7配置哨兵模式(一主二从三哨兵)_Redis_19

每台redis都启动一个哨兵,或者一台虚拟机启动三台哨兵需分配不同端口

新建哨兵空间路径文件

Mkdir -p/opt/sentinel/data

Master

过滤sentinel.conf文件

cat sentinel.conf | grep -v "#" | grep -v "^$"

将过滤的sentinel.conf文件信息新建并加入新文件

cat sentinel.conf | grep -v "#" | grep -v "^$" > /opt/sentinel/sentinel.conf

#sentinel.conf配置文件说明

#哨兵默认端口
port 26379
daemonize no
pidfile "/var/run/redis-sentinel.pid"
logfile "/opt/sentinel/6381.log"
dir "/opt/sentinel/data"
# 2表示配置哨兵,有2个哨兵作出同样的决策,才有决策权
sentinel monitor mymaster 127.0.0.1 6381 2
# master被sentinel认定为失效的间隔时间
sentinel down-after-millisebcodes mymaster 30000
# 剩余的slaves重新和新的master做同步的并行个数
sentinel parallel-syncs mymaster 1
# 主备切换的超时时间,哨兵要去做故障转移,这个时候哨兵也是一个进程,如果他没有去执行,超过这个时间后,会由其他的哨兵来处理
sentinel failover-timeout mymaster 180000
#配置文件
port 26379
daemonize no
pidfile "/var/run/redis-sentinel.pid"
logfile "/opt/sentinel/6380.log"
dir "/opt/sentinel/data"
sentinel monitor mymaster 116.205.131.136 6380 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
bind 0.0.0.0
#启动
redis-sentinel /opt/sentinel/sentinel.conf
ps -ef | grep redis

手摸手Redis7配置哨兵模式(一主二从三哨兵)_html_20

手摸手Redis7配置哨兵模式(一主二从三哨兵)_前端_21

手摸手Redis7配置哨兵模式(一主二从三哨兵)_Redis_22

转移成功后的sentinel.conf文件

手摸手Redis7配置哨兵模式(一主二从三哨兵)_html_23

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis是一个NoSQL数据库,常用缓存(cache)

Redis数据类型:string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)

Redis是一个中间件

同步数据(实时性同步数据、阶段性同步数据)

手摸手Redis7配置哨兵模式(一主二从三哨兵)_html_24

标签:opt,cli,Redis7,redis,哨兵,master,conf,sentinel,一主二
From: https://blog.51cto.com/u_15081423/8030066

相关文章

  • 手搭手zabbix5.0监控redis7
    Centos7安装配置Redis7安装redis#安装gccyum-yinstallgccgcc-c++#安装net-toolsyum-yinstallnet-tools#官网https://redis.io/cd/opt/wgethttp://download.redis.io/releases/redis-7.0.4.tar.gz解压至/opt/目录下tar-zxvfredis-7.0.4.tar.gz-C/opt/#编译安装......
  • Redis 哨兵模式
    哨兵是一个分布式系统,你可以在一个架构中运行多个哨兵进程,这些进程使用流言协议来接收关于Master主服务器是否下线的信息,并使用投票协议来决定是否执行自动故障迁移,以及选择哪个Slave作为新的Master。一、哨兵模式概述1.1、为什么要启动哨兵模式当我们的主服务器宕机后,要手动的......
  • Redis7
    Redis是基于内存的K-V键值对内存数据库浅谈Redis7新特性主要是自身底层性能和资源利用率上的提高和优化。多AOF文件支持config命令增强限制客户端内存使用listpack紧凑列表调整访问安全性增强RedisFunctions(要抢Lua脚本的饭碗)RDB保存时间调整,保存规......
  • redis一主二从三哨兵
    节点规划准备三台虚拟机,使用CentOS-7-x86_64-DVD-2009.iso镜像节点IPmaster192.168.108.91slave1192.168.108.92slave2192.168.108.93手动安装redis1.解压tar-zxvfredis-6.0.8.tar.gz2.yum安装gcc(注意版本,5.3以上)gcc-v##查看......
  • redis7.2.1在windows中通过docker使用的踩坑
    原本主要是参考了这两篇文章https://blog.csdn.net/weixin_45821811/article/details/116211724https://cloud.tencent.com/developer/article/1670205但是由于都是基于linux系统下的,可能与windows有些不同。首先,在https://hub.docker.com/_/redis?tab=tagsdocker官网上找到......
  • 轻松掌握组件启动之Redis单机、主从、哨兵、集群配置
    单机配置启动Redis安装下载地址:http://redis.io/download安装步骤:1:安装gcc编译器:yuminstallgcc2:将下载好的redis‐5.0.3.tar.gz文件放置在/usr/local文件夹下,并解压redis‐5.0.3.tar.gz文件wgethttp://download.redis.io/releases/redis‐5.0.3.tar.gztarxzfredis......
  • 主从+哨兵模式
       ......
  • 实现redis哨兵,模拟master故障场景
     1.概述 在哨兵(sentinel)机制中,可以解决redis高可用问题,即当master故障后可以自动将slave提升为master,从而可以保证redis服务的正常使用。2.哨兵的实现 哨兵的前提是已经实现了一个redis的主从复制的运行环境,从而实现一个一主两从基于哨兵的高可用redis架构。注意:......
  • redis主从复制基础上搭建哨兵模式
    假如156和157是不同的两台服务器两台redis主从复制基础上搭建哨兵模式如下156redis.confmasterauth123456bind0.0.0.0requirement123456daemonizeyessentinel.confsentinelauth-passmymaster123456sentinelmonitormymaster10.190.107.15663792157......
  • 主从+哨兵搭建注意实现
    Redis主从复制模式下,一旦主节点出现了故障不可达,需要人工干预进行故障转移,无论对于Redis的应用方还是运维方都带来了很大的不便。对于应用方来说无法及时感知到主节点的变化,必然会造成一定的写数据丢失和读数据错误,甚至可能造成应用方服务不可用。对于Redis的运维方来说,整个故障......