哨兵-哨兵结构搭建|学习笔记

简介: 快速学习哨兵-哨兵结构搭建

开发者学堂课程【Redis 入门到精通(进阶篇)哨兵-哨兵结构搭建】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/765/detail/13462


哨兵-哨兵结构搭建

 

目录

配置哨兵

操作哨兵模式

 

本章主要讲解启用哨兵模式的操作

 

一,配置哨兵

1.配置一拖二的主从结构

2.配置三个哨兵(配置相同,端口不同)

参看 sentinel.conf

3.启动哨兵

redis-sentinel sentinel-端口号 conf

 

二,操作哨兵模式

步骤

1.为了便于操作,建一些个窗口,哨兵1,2,3用来专门看的服务启动。日志会在这呈现。master slave  三个窗口,之后后边,起两个这个哨兵的客户端,其实起一个也是可以的到时候让大家看一下方便的切换,前面的 master,连 master 客户端同理前面的 slave  slave 客户端,也就后面这四个是客户端

2.先做准备工作,先把前面的配置信息,处理一下。进入到 redis 的安装目录下,在这里边可以看到有一个配置文件,用的是 redis.conf 还有 sentinel.conf,这就是哨兵的配置文件

以下图为讲解步骤2的流程图可供参考

3.这时可以去查看一下输入 cat sentinel.conf输入和后里边的信息比较多,需要去点一些。这些配置,并不陌生

.第一哨兵本身也是一个服务,所以对外也有一个服务端口,通常是用6379前面再加一2,用来做他的端口。

.第二行对应的哨兵的一些工作信息存储,把目录挂上

.第三行这是来设置哨兵的一个核心工作,因为哨兵在这里主要工作就是出问题后的解决,也就是说你监控的对象是谁就是谁第三行中的2是判断对象是不是挂的一个标准,也就是说,如果设了一个2,两个哨兵认定就是挂的。通常设定哨兵的数量的一半加一,这就是为什么我们哨兵数量要设单数的原因。

.第四行,down-after millions seconds,是说相应的对象连接他多长时间没响应,认定它挂,这个名称记得和上面两个对应上就可以mymaster 主机的一个master的名称,后面3万是30秒。

.第五行当他挂着的时候,会有新的来进行上任,新的上任之后再进行数据同步时,值越小对服务器的性能压力也就越小,设的越大压力越大与之对应的压力越小,速度越慢,压力越大,速度越快。这就根据算机的性能来看。也就是有几条线开始同时数据同步。

.第六行进行同步,如果中间特别慢,它是不能接受多长时间同步没完成就算超时,同步超时的一个设定在这里毫秒单位也就是180秒三分钟。30秒认定。主机下线三分钟,认定同步超时

以下代码为所讲解的代码:

[root@localhost redis-4.0.0]# cat sentine1.conf l grep-v "#" | grep -v "^$" port 26379

dir /tmp

sentinel monitor mymaster 127.0.0.1 6379 2

sentinel down-after-mi11iseconds mymaster 30000

sentinel paralle1-syncs mymasterl

sentinel failover-timeout mymaster 180000

4.之后把它复制以后进行拷贝放到/conf/sentinel-26379.conf之后是需要修改的,输入 vim sentinal,进入之后修改以下目录修改为 redis-4.0.0/data,作为数据保存的目录下面的内容是不需要再次进行修改的

以下为所讲解的代码

port 26379

dir /redis-4.0.0/data

sentinel monitor mymaster 127.0.0.1 6379 2

sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster 180000

5.退出之后快速复制两个26379改成26380之后结束之后再把26379改成26381.

以下为讲解的运行后的代码

[root@localhost conf] # sed's/26379/26380/g' sentinal/26379/26380/g’sentinel-26380.conf

[root@localhost conf]#sed's/26379/26381/g' sentinal/26379/26381/g’sentinel-26381.conf

[root@localhost conf]# cat sentine1-26380.conf

port 26380

dir /redis-4.0.0/data

sentinel monitor mymaster 127.0.0.1 6379 2

sentinel down-after-mi1liseconds mymaster 30000 sentine7 paralle1-syncs mymaster 1

sentine1 failover timeout mymaster 180000

[root@localhost conf]#

6.搭完哨兵之后需要把主从搭建起来先用原来的6379和6380就行,然后再去做一个6381之后可以看一下运行情况

[root@localhost conf]# cat redis-6379.conf

port 6379

daemonize no

#1ogfile "6379.10g"

dir /redis-4.0.0/data dbfilenamedump-6379.rdb rdbcompression yes rdbchecksum yes

save 10 2

appendonly yes

appendfsync always

appendfilename appendon1y-6379.aof

bind 127.0.0.1

databases 16

再去看一下6380的运行情况:

#logfile"6380.1og”

dir /redis-4.0.0/data

slaveof 127.0.0.1 6379

[root@localhost conf]#

7.之后去数据文件夹把文件给清理掉运行过程为

[root@localhost conf]# cd/

[root@localhost /]# cd data

bash: cd: data: No such file or directory

[root@localhost /]# cd redis-4.0.0/

[root@localhost redis-4.0.0]# cd data

[root@localhost data]# 11

total 68

-rw-r--r--. root root . 56446 Oct 14 05:59 6379.log

-rw-r--r-- root root 3910 0ct 14 06:30 appendonTy-6379.aof

-rw-r--r-- root root 327 Oct 14 08:10 dump-6379.rdb

-rw-r--r-- 1 root root 344 oct 14 07:09 dump.rdb

[root@localhost data]# rm -rf.8

[root@localhost data]# rm -rf *

[root@localhost data]#.11

total 0

[root@localhost data]# cd

[root@localhost redis-4.0.0]# cd conf

[root@localhost .conf]# 11

total 24

8.准备工作结束之后接下来进行启动启动的顺序为先起主机再起丛机最后再起哨兵哨兵的启动与服务器启动稍有不同

以下为哨兵启动后的状态:

24464:x14 oct11:54:39.369#

WARNING: The TCP backlog setting of 511 cannot be enforced because/proc/sys/net/core/somaxconn is set o the lower value of 128.

9.之后就可以连一下客户端但是需要注意的一点是 get,set  操作是不被允许的这里只允许哨兵的操作以下为操作结果

# Sentinel

sentinel_masters:1 sentinel_tilt:0

sentinel_running_scripts:0

sentinel_scripts_queue_1ength:0 sentine1_simulate_failure_Flags:0

master0:name=mymaster,status=ok,address=127.0.0.1:6379,slaves-2,sentinels=l127.0.0.1:26379>

10.在哨兵客户端里看配置文件以下是所看的文件

[root@locathost /]# cat /redis-4.0.0/conf/sentine1-26379.cont port 26379

dir "/redis-4.0.0/data"

sentinel myid 0249e5c2fdde04cbe1059aala137b9b352f0f7fo sentinel monitor mymaster 127.0.0.1 6379 2

sentinel config-epoch mymaster o

sentinel 1eader-epoch mymaster o

# Generated by CONFIG REWRITE

sentinel sentinel knowneslave mymaster 133:8:8:1 8389

sentinel current-epoch o[rootalocalhost /]#

11.再起第二个哨兵输入

# redis-sentinel /redis-4.0.0/conf/sentine1-26380.conf启动运行结果为:

24584:x14 11:58:18.671

# WARNING: The TCP back1og setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

24584:x 14 oct 11:58:18.674 # Sentinel id is 1be01b18c639a586280b5467fe9706c435e56fd9

24584:x 14 oct 11:58:18.674 # +monitor master mymaster 127.0.0.1 6379 quorum 2

24584:x14

oct11:58:19.542*+sentine1

sentine7 0249e5c2fdde04cbe1059aala137b9b352f0f7f0 127.0.0.1 26379 0.mymaster 127.0.0.1 6379

这里的最后一行可以发现添加了哨兵这里也是与哨兵客户端有所联系的这里它们是有所识别的

12.接着来看数据首先先看主从是否吧工作正常

首先现在主输入

[rootalocalhost /]# redis-c1i -p 6379

127.0.0.1:6379> set name it [ex seconds] [px mi11iseconds] [nx|xx]

之后在从输入

[root@localhost /]# redis-cli -p 6380

127.0.0.1:6380> get name .

"itheima

127.0.0.1:6380>

结果是可以得到的也就是说明主从没有问题

哨兵在这里的作用是当把主宕掉之后经过一系列的操作与投票可以看到由6379替换成诶6381.

相关文章
|
机器学习/深度学习 数据采集 数据可视化
【DSW Gallery】数据分析经典案例:Kaggle竞赛之房价预测
Python是目前当之无愧的数据分析第一语言,大量的数据科学家使用Python来完成各种各样的数据科学任务。本文以Kaggle竞赛中的房价预测为例,结合JupyterLab Notebook,完成数据加载、数据探索、数据可视化、数据清洗、特征分析、特征处理、机器学习、回归预测等步骤,主要Python工具是Pandas和SKLearn。本文中仅仅使用了线性回归这一最基本的机器学习模型,读者可以自行尝试其他更加复杂模型,比如随机森林、支持向量机、XGBoost等。
【DSW Gallery】数据分析经典案例:Kaggle竞赛之房价预测
|
算法 安全 C++
[算法] 字符串 | 字符串哈希理论基础
[算法] 字符串 | 字符串哈希理论基础
|
SQL Java 数据库连接
MyBatis 中的插件可以实现哪些功能
MyBatis 中的插件可以实现哪些功能
|
3天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
4天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1069 151
|
4天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1743 9
|
9天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
687 152