Redis主从是否生效的特殊测试方法
Redis主从的特殊测试方法
配置主从
Redis的主从设定,相较于MySQL的主从,配置起来非常简单,不必像MySQL数据库一样手动记录bin log的位置再配置,但又可以像MySQL一样,一主带多从,从机再带从机。
主从的配置,只需要从机加上两条配置,重启即可
slaveof redis_master_ip port
masterauth redis_master_password
ex:
slaveof 192.168.1.128 6379
masterauth redis123
配置之后重启一下redis即可
检查主从生效的方法
- 1 redis-cli(前提是已经安装)
首先输入info,会提示没有被认证
127.0.0.1:6379> info
NOAUTH Authentication required.
当然这种情况下redis有密码的限定,这时候输入:
127.0.0.1:6379> auth redis_password
OK
输入密码auth 密码,即可进入redis,再次执行info,就可以查看当前redis里面的大致情况了,数据存储的查询,就使用redis命令查看即可。
- 2 万能的日志
这种情况一般多是运维同学找不到问题的时候,常用的第一招。Redis的日志存放的位置,在配置文件中有指定,配置项为: logfile
ex:
logfile /var/log/redis/redis.log
日志输出的等级分为:debug verbose notice warning ,debug最低,warning最高,低级写入日志中的信息越多,warning写入的信息越少。一般想要看主从是否开始,设定notice级别即可,verbose级别可以看到tcp链接的信息。
[27150] 27 Oct 20:56:42.822 * DB loaded from disk: 0.000 seconds
[27150] 27 Oct 20:56:42.822 * The server is now ready to accept connections on port 6379
[27150] 27 Oct 20:56:42.822 * Connecting to MASTER 192.168.1.128:6379
[27150] 27 Oct 20:56:42.822 * MASTER <-> SLAVE sync started
[27150] 27 Oct 20:56:42.824 * Non blocking connect for SYNC fired the event.
[27150] 27 Oct 20:56:42.826 * Master replied to PING, replication can continue...
[27150] 27 Oct 20:56:42.832 * (Non critical) Master does not understand REPLCONF capa: -ERR Unrecognized REPLCONF option: capa
[27150] 27 Oct 20:56:42.832 * Partial resynchronization not possible (no cached master)
[27150] 27 Oct 20:56:42.835 * Full resync from master: eeb6ea40604801a18678f4bfd7c6aad831e14b17:272243640433
上面的信息是Redis 从机上日志的信息,基本可以认为是已经再同步了,当然不放心的情况下,运维同学可以去master上也查看一下日志,看看是否已经完全开始同步了。
- 3 telnet
telnet工具,没啥说的。
通信方式:明文
使用难度:低
在从主机(slave)执行:
telnet 192.168.1.128 6379
Trying 192.168.1.128...
Connected to 192.168.1.128.
Escape character is '^]'.
接着执行:
auth redis123
+OK
SYNC
上面两条命令,第一条会明文认证,类似与方法1中的认证,SYNC命令是redis主从主机之间发起同步的指令信息,同样是明文。
执行完成之后,可以查看master主机上的日志信息,来确定master是否已经开始把内存中的数据,写入到硬盘。如果此类信息没有问题,从机(slave)上在执行为SYNC命令之后,会收到master主机传来数据,当然会是一堆乱码。
如果从机接受到了这些乱码,证明主从已经是OK的了。
另类的需求做安全
redis的主从,一般不会在公网上进行传输,毕竟谁会拿公网带宽做快速变化数据的同步,况且还是明文传输的信息,包括redis的密码。
另类的debug,当然会是在另类的场景。例如:redis数据非常的多,10G以上的级别,又遇上了跨机房的非中断业务搬迁,在现在互联网创业公司用云主机的情况下还是可能会遇到的。
** 一定一定一定要对两个公网上做redis主从的机器做防火墙上的端口 IP访问限定。**
现在的互联网犹如《三体》小说里面的黑暗森林的猜疑链推论:只要暴漏你的位置,威胁会马上过来。
若一个文明通过某种方式得知另一文明存在的可能性,则有一定概率发动不加侦查的随意打击。由于具有打击能力的文明数量极多,因此一个坐标(无论是否真的具有文明)暴露后几乎必然受到随意性质的打击。
“一个黑暗森林中的猎手……突然看到……所有猎手都能认出的字标示出的森林中的一个位置……假设林中有一百万个猎手(在银河系上千亿颗恒星中存在的文明数量可能千百倍于此),可能有九十万个对这个标示不予理会;在剩下的十万个猎手中,可能有九万个对那个位置进行探测,证实其没有生物后也不予理会;那么在最后剩下的一万个猎手中,肯定有人会做出这样的选择:向那个位置开一枪试试,因为对技术发展到某种程度的文明来说,攻击可能比探测省力,也比探测安全,如果那个位置真的什么都没有,自己也没什么损失。”
Redis主从是否生效的特殊测试方法的更多相关文章
- redis主从遇到的两个坑
最近在使用redis主从的时候做了下面两件事情: 1 希望redis主从从操作上分析,所有写操作都在master上写,所有读操作都在从上读. 2 由于redis的从是放在本地的,所以有的key的读写操 ...
- redis主从,哨兵回忆手册
redis主从 持久化的开启与主从集群是否生效无关系 Slave Server同样是以非阻塞的方式完成数据同步.在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据(注意初次同步则会阻 ...
- Redis主从+KeepAlived实现高可用
Redis是我们当下比较流行使用的非关系数据库,可支持多样化的数据类型,多线程高并发支持,redis运行在内存拥有更快的读写.因为redis的表现如此出色,如何能保障redis在运行中能够应对宕机故障 ...
- centos部署redis主从
安装环境 CentOS 6.5 .CentOS 7.4 主Redis:10.159.44.175 从Redis: 10.159.44.176.10.159.44.177 Redis下载和安装 在3台机 ...
- 利用Sentinel实现Redis主从切换
利用Sentinel(哨兵)实现Redis集群的故障自主切换 首先部署redis主从集群,主要安装过程: cd redis make make install 主要看配置文件: master: bin ...
- redis主从配置+sentinel哨兵
redis主从配置+sentinel哨兵 1:编译环境准备 1.1环境确认 Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.所以在搭建Redis服务器时需要C语言的编 ...
- redis 主从 及集群
一.redis 主从架构 搭建redis 主从 (可以用一台主机,也可以两台主机) 环境准备: 一台服务器:192.168.206.6 操作系统:CentOS7.5 redis 版本: redis ...
- Redis 主从配置密码以及哨兵
目录: Redis 主从介绍 哨兵机制 Redis 主从配置 环境 安装 启动服务 检查主从状态 测试数据同步 默认是读写分离的 Redis Sentinel 配置 主Redis宕机测试 配置多个哨兵 ...
- redis 主从、哨兵、集群
出处: redis主从复制和哨兵 Redis集群方式共有三种:主从模式,哨兵模式,cluster(集群)模式 一.Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步 ...
随机推荐
- .NET使用OpenSSL生成的pem密钥文件
NET要使用OpenSSL生成的pem密钥文件,网上资料很少(http://www.faqs.org/rfcs/rfc1421.html,RFC1421文件又老长老长),仅有的资料还是有错误的,所以今 ...
- maven本地仓库的配置以及如何修改默认.m2仓库位置
本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库.这样在你下次使用的时候就不需要从远程下载了.如果你所需 ...
- python之pexpect模块
最近在看<Python自动化运维技术与最佳实战>这本书,学到了一个运维中用到的模块:pexpect 下面是其定义: Pexpect 是一个用来启动子程序并对其进行自动控制的 Python ...
- gcc链接参数--whole-archive的作用
// a.h extern void foo(); // a.cpp #include <stdio.h> void foo() { printf("foo\n"); ...
- PLSQL_长脚本如何判断需耗时多久v.sql / v.sqltext / v.sqlarea / v.sql_plan及nohup(案例)
2014-08-27 Created By BaoXinjian
- DBA_Oracle Audit基本概念(概念)
2014-08-15 Created By BaoXinjian
- Codeforces Round #368 (Div. 2) D. Persistent Bookcase
Persistent Bookcase Problem Description: Recently in school Alina has learned what are the persisten ...
- 【初识】KMP算法入门(转)
感觉写的很好,尤其是底下的公式,易懂,链接:http://www.cnblogs.com/mypride/p/4950245.html 举个例子 模式串S:a s d a s d a s d f a ...
- NeHe OpenGL教程 第三十四课:地形
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- docker一些命令
1.创建image(先创建Dockerfile) docker build -t xxx/xxx . 2.删除image docker rmi xxxxx(image id) docker rmi r ...