千家信息网

redis主从架构与redis+sentinel 哨兵机制架

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,redis的搭建过程,请参考 https://blog.51cto.com/12445535/2385106接下来,我们再找一台服务器,进行安装redis 实现redis的主从架构和上面的方法搭建一个
千家信息网最后更新 2024年12月12日redis主从架构与redis+sentinel 哨兵机制架

redis的搭建过程,请参考 https://blog.51cto.com/12445535/2385106

接下来,我们再找一台服务器,进行安装redis 实现redis的主从架构

和上面的方法搭建一个redis
只不过
在从redis中的配置文件中写
[root@prd3-redis02-10-184 conf]# grep slaveof 6379.conf
######## slaveof
slaveof 192.168.10.183 6379 //直接添加这个一行,然后

启动redis
[root@prd3-redis02-10-184 conf]# redis-server /ivargo/app/redis/conf/6379.conf

接下来就是看差距

在主redis可以看到
[root@prd3-redis01-10-183 conf]# redis-cli -a XXX
Warning: Using a password with '-a' option on the command line interface may not be safe.
127.0.0.1:6379> info

Replication

role:master
connected_slaves:1

在从redis上可以看到
[root@prd3-redis02-10-184 conf]# redis-cli -aXXX
Warning: Using a password with '-a' option on the command line interface may not be safe.
127.0.0.1:6379> info
####### Replication
role:slave
master_host:192.168.10.183
master_port:6379

这样redis的主从就搭建好了

搭建完redis后,目录结构

[root@prd3-redis01-10-183 ivargo]# pwd/ivargo[root@prd3-redis01-10-183 ivargo]# tree .├── app│   ├── redis│   │   ├── 6379.pid│   │   ├── conf│   │   │   └── 6379.conf│   │   ├── data│   │   │   ├── 6379.rdb│   │   │   └── appendonly_6379.aof│   │   └── log│   └── sentinel│       └── conf└── log    └── 6379.log8 directories, 5 files
实现redis的sentinel [root@prd3-redis01-10-183 conf]# pwd/ivargo/app/sentinel/conf[root@prd3-redis01-10-183 conf]# cat sentinel.conf  //这个配置文件是prd3上的sentinel的配置文件,我们需要修改的# Example sentinel.conf# bind 127.0.0.1 192.168.1.1bind 0.0.0.0protected-mode noport 26379daemonize yesloglevel noticelogfile "/ivargo/log/sentinel.log"dir "/tmp"# sentinel auth-pass  # sentinel down-after-milliseconds  # Default is 30 seconds.sentinel myid ba794535d3a65e14b266e28462fa7c68de609f39# sentinel parallel-syncs  sentinel deny-scripts-reconfig yes# sentinel failover-timeout  # Default is 3 minutes = 180000.sentinel monitor mymaster 10.80.85.20 6379 2# Generated by CONFIG REWRITEsentinel down-after-milliseconds mymaster 6000sentinel auth-pass mymaster xxxsentinel config-epoch mymaster 0sentinel leader-epoch mymaster 1sentinel known-slave mymaster 10.80.85.21 6379sentinel known-sentinel mymaster 10.80.85.21 26379 c3002e02c6a2d0041afd2569f3fd1985bc38993esentinel current-epoch 1
[root@prd3-redis01-10-183 conf]# cat sentinel.conf  //这里面都是我们自己指定的,他其他的文件内容,都是他自己生成的# Example sentinel.conf# bind 127.0.0.1 192.168.1.1bind 0.0.0.0protected-mode noport 26379daemonize yesloglevel noticelogfile "/ivargo/log/sentinel.log"pidfile "/ivargo/app/sentinel/26379.pid"dir "/tmp"sentinel monitor mymaster 192.168.10.183 6379 2sentinel auth-pass mymaster XXX184上的sentinel配置文件和183一样的[root@prd3-redis01-10-183 conf]# redis-sentinel /ivargo/app/sentinel/conf/sentinel.conf[root@prd3-redis02-10-184 conf]# redis-sentinel /ivargo/app/sentinel/conf/sentinel.conf
[root@prd3-redis01-10-183 conf]# cat sentinel.conf                                        # Example sentinel.conf# bind 127.0.0.1 192.168.1.1bind 0.0.0.0protected-mode noport 26379daemonize yesloglevel noticelogfile "/ivargo/log/sentinel.log"pidfile "/ivargo/app/sentinel/26379.pid"dir "/tmp"sentinel myid 6075d58bdc7c2602f98d90c0aa48470c4dbb50d9sentinel deny-scripts-reconfig yes# Generated by CONFIG REWRITEsentinel monitor mymaster 192.168.10.183 6379 2sentinel auth-pass mymaster XXXsentinel config-epoch mymaster 0sentinel leader-epoch mymaster 0sentinel known-slave mymaster 192.168.10.184 6379sentinel known-sentinel mymaster 192.168.10.184 26379 039bd11a572245b6c16c6e204523d781ffb6ba4csentinel current-epoch 0查看不同点我们检查[root@prd3-redis01-10-183 conf]# redis-cli -h 192.168.10.183 -p 26379 info # Sentinelsentinel_masters:1sentinel_tilt:0sentinel_running_scripts:0sentinel_scripts_queue_length:0sentinel_simulate_failure_flags:0master0:name=mymaster,status=ok,address=192.168.10.183:6379,slaves=1,sentinels=2
验证sentinel高可用[root@prd3-redis01-10-183 redis]# kill `cat 6379.pid`杀死183的进程然后在184上看[root@prd3-redis02-10-184 conf]# redis-cli -h 192.168.10.183 -p 26379 info  # Sentinelsentinel_masters:1sentinel_tilt:0sentinel_running_scripts:0sentinel_scripts_queue_length:0sentinel_simulate_failure_flags:0master0:name=mymaster,status=ok,address=192.168.10.184:6379,slaves=1,sentinels=2  //主节点变成了184了在启动183[root@prd3-redis01-10-183 redis]# redis-server /ivargo/app/redis/conf/6379.conf [root@prd3-redis01-10-183 redis]# redis-cli -h 192.168.10.183 -p 26379 info# Sentinelsentinel_masters:1sentinel_tilt:0sentinel_running_scripts:0sentinel_scripts_queue_length:0sentinel_simulate_failure_flags:0master0:name=mymaster,status=ok,address=192.168.10.184:6379,slaves=1,sentinels=2然后查看redis 原来的183是主节点,现在是从节点了[root@prd3-redis01-10-183 redis]# redis-cli -h 192.168.10.183 -p 6379 -a XXX info # Replicationrole:slavemaster_host:192.168.10.184master_port:6379[root@prd3-redis02-10-184 conf]# redis-cli -h 192.168.10.184 -p 6379 -a XXX info  # Replicationrole:masterconnected_slaves:1slave0:ip=192.168.10.183,port=6379,state=online,offset=169470,lag=1以上实现了redis的sentinel机制 也就是 HA机制

其实对于现上环境的话,当redis发生了主从切换的时候,这个比如程序调用的ip就会改变,写两个ip和两个sentinel地址显然是不合理的,我们可以实现vip机制自动切换,来实现程序调用只需要一个ip,相关内容,请期待。

文件 配置 主从 机制 节点 接下来 两个 内容 程序 切换 架构 不合理 不同 一行 不同点 也就是 只不过 地址 就是 差距 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全中面临的主要攻击 汕头酒店软件开发公司 计算机网络技术需要什么教材 调度中心网络安全预案 软件开发工程师项目经理 多IP服务器光算云.地址多少 软件开发的流程和考核 星际争霸2服务器关闭 derby数据库管理工具 如何认识新时代下的国家网络安全 数据库基本信息浏览窗体 广州巨达网络技术有限公司 网络安全生态 安全牛 綦江区常规软件开发服务公司 用友数据库期初余额文件 数据库双向同步 杭州趣得网络技术有限公司 河南pdu服务器电源定制 新中大软件提示正在调整数据库 数据库空间分配空间 adas软件开发 软件开发实习主要内容有什么 计算机网络技术专业工资高吗 怎样使用数据库的语言 杭州麦苗网络技术科创板 网络安全宣传校园日工作计划 台湾的数据库 软件开发公司面临的法律问题 识骗防骗网络安全主题班会 光遇账号怎么查看服务器
0