redis2.2.8主从

                      	     Redis2.2.8版

yum -y install redis.x86_64
vim /etc/redis.conf
61:bind 0.0.0.0 #允许任何连接
84:port 6379 #端口号
128:daemonize yes #把no改成yes
systemctl restart redis.server
yum -y install nginx.x86_64 php php-fpm php-mysql php-cli php-gd
yum install php-pecl-redis.x86_64
vim /etc/nginx/nginx.conf
42:root /web #任意位置
43:index index.php index.html index.htm default.jsp; #42行下空白处添加
50:location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
} #49行下空白处添加
mkdir /web
vim /web/index.php #编写测试页

<?php Phpinfo(); ?>

systemctl restart nginx
ps -eff | grep nginx |grep -v grep
chown nginx:nginx /web/ -Rf #赋权
systemctl restart php-fpm.service
lsof –i:9000
vim /etc/php-fpm.d/www.conf
39:user = nginx
41:group = nginx
244:php_value[session.save_handler] = redis #改成redis
245:php_value[session.save_path] = “tcp://192.168.126.130:6379” #改为本机ip
systemctl restart php-fpm

第二部分
主从部分
(主从)
yum –y install redis
vim /etc/redis.conf
61:bind 0.0.0.0 #允许任何连接
81: protected-mode no #关闭保护模式
84:port 6379 #端口号
128:daemonize yes #把no改成yes

226:slaveof 192.168.126.130 6379 #ip为主
主(测试)
lsof -i:6379 #查看是否连接
redis-clt –h 192.168.126.130 #本机ip
192.168.126.130:6379> set name ok
OK
192.168.126.130:6379> get name
“ok”
192.168.126.130:6379>
从(测试)
redis-cli -h 192.168.126.141 #本机ip
192.168.126.141:6379> get name
“ok”
#主从同步

<think> 首先,用户的问题是关于 Redis 主从切换的操作方法。用户说:“我想查找Redis切换主从的方法 请问Redis切换主从的操作方法”。所以,我需要基于提供的引用内容来回答这个问题。 回顾系统级指令: - 所有行内数学表达式必须使用 $...$ 格式。但这个问题是关于 Redis 的,可能没有数学表达式,所以我可以忽略这个。 - 独立公式必须使用 $$...$$ 并单独成段。同样,可能不适用。 - LaTeX 语法正确:确保回答中如果有数学部分正确使用。 - 使用中文回答:整个回答必须用中文。 - 生成相关问题:在末尾生成相关问题。 - 引用的段落末尾添加引用标识,例如 [^1]。 用户可见层指令: - 回答结构清晰,帮助用户逐步解决问题。 - 保证回答真实可靠,基于提供的引用。 提供的引用: - [^1]: 提到 Redis 主从切换有两种方式:手动切换和哨兵模式。 - [^2]: 详细描述了手动切换:当主节点宕机时,手动将一台从节点切换为主节点,但会造成服务不可用。 - [^3]: 介绍 Redis 主从切换的原理和方法。 - [^4]: 描述了在手动切换后需要处理数据一致性的问题,比如替换 dump.rdb 文件。 - [^5]: 给出了一个例子:杀掉主 Redis 进程的命令。 关键点: - Redis 主从切换有两种主要方法:手动切换和哨兵模式。 - 手动切换:需要人工干预,将某个从节点提升为主节点。 - 哨兵模式:自动化的方式,监控主节点状态并在故障时自动切换。 基于引用,手动切换的操作方法包括: - 停止主节点(比如杀掉进程)。 - 选择一个从节点,将其配置为主节点。 - 确保数据一致,比如复制 dump.rdb 文件(引用[4]提到)。 - 然后启动新的主节点。 哨兵模式是自动的,设置哨兵集群来监控和切换。 用户的问题是“Redis切换主从的操作方法”,所以我需要提供操作步骤。 结构化回答: 1. 介绍 Redis 主从切换的必要性(基于引用)。 2. 详细描述两种方法:手动切换和哨兵模式。 3. 提供操作步骤。 4. 添加引用标识。 生成相关问题: - 在末尾添加几个相关问题。 回答结构: - 开头:简要说明 Redis 主从切换是什么。 - 主体: - 手动切换的操作方法。 - 哨兵模式的操作方法。 - 结尾:总结或建议。 - 然后添加相关问题。 确保引用: - 当引用内容时,末尾添加 [^1], [^2] 等。 具体操作步骤: - 手动切换(基于引用[2]、[4]、[5]): - 1. 停止主节点:例如,使用命令 `ps -ef | grep redis` 找到主节点进程并杀死(引用[5])。 - 2. 选择一个从节点。 - 3. 配置从节点为主节点:可能需要修改配置文件(如设置 slaveof no one)。 - 4. 确保数据一致:如果需要,复制 dump.rdb 文件(引用[4])。 - 5. 启动新的主节点。 - 哨兵模式(基于引用[1]、[3]): - 设置哨兵集群。 - 哨兵自动监控和切换。 哨兵模式的操作方法可能涉及配置哨兵实例。 最终回答用中文。 </think>### Redis 主从切换的操作方法 Redis 主从切换是确保 Redis 高可用性的核心机制,当主节点因故障(如宕机)不可用时,需将某个从节点提升为新主节点继续提供服务。基于 Redis 的设计,主从切换分为两种主要方式:手动切换和哨兵模式。下面我将详细说明每种方法的操作步骤和注意事项,帮助您逐步实现切换。 #### 1. 手动切换操作方法 手动切换需要人工干预,适用于临时或小规模环境,但切换过程中会导致 Redis 服务短暂不可用。操作步骤如下: 1. **停止主节点**: 使用命令查找主节点进程并停止它。例如: ```bash # 查找主节点进程ID ps -ef | grep redis # 输出示例: hollysp 6860 1 0 10:31 ? 00:00:02 ./redis-server *:6379 # 杀死主节点进程(假设进程ID为6860) kill -9 6860 ``` 这将强制终止主节点服务[^5]。 2. **提升从节点为新主节点**: 连接到目标从节点的 Redis 客户端,执行命令使其独立为主节点: ```bash redis-cli -p <从节点端口号> # 连接到从节点 > SLAVEOF NO ONE # 停止复制,提升为主节点 ``` 此命令会将该从节点切换为独立主节点[^2]。 3. **确保数据一致性**: 手动切换可能导致数据不一致。需将新主节点的数据文件(如 `dump.rdb`)复制到其他节点: ```bash # 复制新主节点的 dump.rdb 文件到其他从节点 cp /path/to/new_master/dump.rdb /path/to/other_slave/dump.rdb ``` 这确保所有节点数据同步[^4]。 4. **更新其他从节点配置**: 修改其他从节点的配置文件,指向新主节点: ```bash # 编辑从节点的 redis.conf 文件 slaveof <新主节点IP> <新主节点端口> ``` 然后重启从节点服务以应用更改。 5. **重启服务**: 启动新主节点和其他从节点: ```bash redis-server /path/to/redis.conf ``` **注意事项**: - 切换过程会导致 Redis 服务中断(通常几秒到几分钟),需在低峰期操作[^2]。 - 数据一致性需手动验证,可通过 `INFO replication` 命令检查节点状态。 - 适用于测试环境或紧急修复,不推荐生产环境长期使用。 #### 2. 哨兵模式操作方法 哨兵模式是自动化切换方式,通过哨兵集群监控主节点状态,故障时自动选举新主节点,避免服务中断。操作步骤如下: 1. **配置哨兵集群**: 创建哨兵配置文件(如 `sentinel.conf`),定义监控规则: ```bash # sentinel.conf 示例 sentinel monitor mymaster <主节点IP> <主节点端口> 2 # 监控主节点,2表示需2个哨兵确认故障 sentinel down-after-milliseconds mymaster 5000 # 5秒无响应判定为宕机 sentinel parallel-syncs mymaster 1 # 故障切换后,同时同步的从节点数 ``` 2. **启动哨兵进程**: 在多个服务器上启动哨兵实例: ```bash redis-sentinel /path/to/sentinel.conf ``` 哨兵会自动监控主节点状态[^3]。 3. **故障自动切换**: 当主节点宕机时,哨兵集群自动执行: - 检测故障并选举新主节点。 - 更新所有从节点配置,指向新主节点。 - 通知客户端连接新主节点。 4. **验证切换结果**: 使用哨兵命令检查状态: ```bash redis-cli -p <哨兵端口> # 连接到哨兵 > SENTINEL get-master-addr-by-name mymaster # 获取当前主节点地址 ``` **注意事项**: - 哨兵模式需至少3个哨兵实例以避免脑裂问题。 - 切换过程高可用,服务中断时间极短(毫秒级)[^1]。 - 适用于生产环境,但需确保网络稳定。 #### 总结建议 - **手动切换**:简单快速,适合临时修复或小规模部署,但风险较高。 - **哨兵模式**:推荐生产环境使用,自动化高可用,但需额外配置哨兵集群。 在操作前,备份数据和配置文件,避免数据丢失[^4]。实践中,优先使用哨兵模式以确保服务连续性[^3]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君夜-专注搞技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值