codis非正常关闭重启过程

当Codis主节点非正常关闭后,需要在Zookeeper中删除/codis相关数据,然后重启主从节点,启动Fe,创建并配置Proxy,加入Group,并进行数据分配以完成恢复流程。

codis主节点突然挂掉,重启了一把
非正常关闭,需要进zookeeper中删除/codis下创建的内容

[zk: localhost:2181(CONNECTED) 0] ls /
[jodis, cluster, registry, controller, brokers, storm, zookeeper, infra-solr, hbase-unsecure, hadoop-ha, recognition, admin, isr_change_notification, dubbo, codis3, harpc, templeton-hadoop, controller_epoch, hiveserver2, rmstore, consumers, ambari-metrics-cluster, config]
[zk: localhost:2181(CONNECTED) 1] ls /codis3
[codis-ls]
[zk: localhost:2181(CONNECTED) 2] rmr /codis3/codis-ls

主从都起(从节点没挂,可以不起)

nohup ./bin/codis-dashboard --ncpu=4 --config=config/dashboard.toml --log=logs/dashboard.log --log-level=WARN &


 nohup ./bin/codis-proxy --ncpu=4 --config=config/proxy6900.toml --log=logs/proxy6900.log --log-level=WARN &


 nohup ./bin/codis-proxy --ncpu=4 --config=config/proxy6901.toml --log=logs/proxy6901.log --
### Codis 分布式 Redis 解决方案概述 Codis 是一个分布式 Redis 解决方案,它通过代理(Proxy)将客户端请求转发到后端的 Redis 实例,并支持不停机的数据迁移功能[^1]。对于上层应用而言,连接到 Codis Proxy 和连接原生 Redis Server 并无明显区别(除了不支持的部分命令),因此可以像使用单机 Redis 一样操作,而底层会处理请求转发和数据迁移等复杂任务[^3]。 Codis 的架构主要由以下组件构成: - **Codis Proxy**:无状态的代理层,负责接收客户端请求并将其转发到对应的 Redis 实例。 - **Codis Server**:基于 Redis 3.2.8 开发的后端存储节点,支持大部分 Redis 命令。 - **Codis Dashboard**:管理工具,用于监控集群状态、执行数据迁移等操作。 - **Zookeeper**:用于存储元数据和协调集群中的各个组件。 ### Codis 部署步骤 #### 环境准备 在部署 Codis 之前,需要确保系统已安装以下依赖项: - **Go 编译环境**:Codis 使用 Go 语言开发,因此需要安装 Go 环境以编译源代码[^4]。 - **Zookeeper**:Codis 使用 Zookeeper 存储元数据和进行集群协调。 #### 安装与配置 1. **安装 Go 环境**: - 下载并安装 Go 编译器。 - 配置环境变量 `GOPATH` 和 `PATH`。 2. **下载并编译 Codis 源码**: ```bash go get github.com/CodisLabs/codis cd $GOPATH/src/github.com/CodisLabs/codis make all ``` 3. **启动 Zookeeper**: - 确保 Zookeeper 已正确安装并运行。 - 配置 Zookeeper 数据目录和日志路径。 4. **启动 Codis 各个组件**: - **启动 Codis Server**: ```bash ./codis-server -v ``` - **启动 Codis Proxy**: ```bash ./codis-proxy --config=config.toml --addr=0.0.0.0:19000 ``` - **启动 Codis Dashboard**: ```bash ./codis-dashboard --zookeeper=zk_addr --base-path=/codis/db_001 ``` 5. **初始化 Slot**: - 使用 Codis FE(前端界面)初始化 Slot 并分配给不同的 Group。 - 添加主从节点到 Group 中。 6. **测试访问**: - 连接到 Codis Proxy,执行 Redis 命令验证集群是否正常工作。 ### 使用注意事项 - **命令兼容性**:Codis 不支持部分 Redis 命令,如 BITOP、BLPOP、BRPOP 和事务相关命令(MULTI、EXEC 等)[^2]。 - **数据迁移性能**:Codis 支持异步迁移,对集群性能的影响较小,适合频繁迁移场景[^2]。 - **稳定性**:Codis 引入了 Proxy 和 Zookeeper,增加了集群复杂度,但其无状态设计和 Zookeeper 的稳定性保证了系统的可靠性。 ```python import redis # 连接 Codis Proxy client = redis.StrictRedis(host='127.0.0.1', port=19000, db=0) # 测试命令 client.set('key', 'value') print(client.get('key')) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值