Redis(九)----主从复制&集群

本文详细介绍了如何在两台服务器上实现Redis的主从复制,包括Linux下虚拟机克隆步骤、主从复制的配置与常见问题解决。通过具体实例,展示了如何检查主从状态、配置密码以及解决连接问题。

 

主从复制的主要目的是为了实现读写分离。比如,有两台服务器,Master负责写入(数据的持久化),Slave负责读取。客户端读取的时候,都从slave机器去读。

1.克隆服务器

Linux 下虚拟机克隆步骤(CentOS)

 

主从复制

 

遇到的问题:

1.cli模式下,通过info命令来查看redis的主从状态

2.master_link_status:down. 把从机器上的redis.conf的daemonize改为no,这样,在启动redis的过程中,就可以看到报错。

3.启动过程中看到报错,说是主机器的redis没有设置密码。那么,把从机器上的masterauth配置项删掉。

最后,完成了主从的搭建。

 

 

 

 

使用 `redis-cli` 可以通过以下步骤分析当前 Redis 集群的主从关系。 ### 1. 连接到 Redis 集群节点 首先,要使用 `redis-cli` 连接到 Redis 集群的某个节点。可使用如下命令: ```bash redis-cli -c -h <host> -p <port> ``` 这里,`<host>` 是集群节点的主机名或 IP 地址,`<port>` 是节点的端口号。`-c` 选项表示以集群模式连接。 ### 2. 获取集群节点信息 连接成功后,可使用 `CLUSTER NODES` 命令获取集群中所有节点的信息。示例命令如下: ```bash CLUSTER NODES ``` 此命令会返回一个包含集群中所有节点信息的列表,每条记录的格式如下: ```plaintext <node_id> <ip:port> <flags> <master_id> <ping_sent> <pong_recv> <config_epoch> <link_status> <slot_range> ``` 其中,`flags` 字段包含了节点的角色信息,如 `master` 或 `slave`;`master_id` 字段在节点为从节点时,会显示其对应的主节点的 ID。 ### 3. 分析主从关系 根据 `CLUSTER NODES` 命令的输出,可以分析出主从关系。若 `flags` 为 `master`,则该节点是主节点;若 `flags` 为 `slave`,且 `master_id` 不为空,那么该节点是 `master_id` 对应的主节点的从节点。 ### 示例代码 以下是一个简单的 Bash 脚本示例,用于解析 `CLUSTER NODES` 命令的输出并显示主从关系: ```bash #!/bin/bash # 连接到 Redis 集群节点并获取节点信息 nodes_info=$(redis-cli -c -h <host> -p <port> CLUSTER NODES) # 解析节点信息并显示主从关系 while read -r line; do node_id=$(echo $line | cut -d ' ' -f 1) ip_port=$(echo $line | cut -d ' ' -f 2) flags=$(echo $line | cut -d ' ' -f 3) master_id=$(echo $line | cut -d ' ' -f 4) if [[ $flags == *"master"* ]]; then echo "主节点: $ip_port (ID: $node_id)" elif [[ $flags == *"slave"* ]]; then master_ip_port=$(echo "$nodes_info" | grep "^$master_id " | cut -d ' ' -f 2) echo "从节点: $ip_port (ID: $node_id) 主节点: $master_ip_port (ID: $master_id)" fi done <<< "$nodes_info" ``` 将 `<host>` 和 `<port>` 替换为实际的集群节点信息,保存脚本并执行,就能看到集群的主从关系。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值