尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

codis集群部署

codis集群部署 Codis 手动部署完整指南部署流程概览dashboard → proxy → fe → codis‑server → slot 初始化 → 集群验证核心组件Codis-Dashboard集群管理控制台负责元数据管理和协调Codis-Proxy代理服务客户端请求入口Codis-FEWeb 管理界面可视化操作Codis-Server修改版的 Redis 服务器数据存储1. 系统环境准备在开始部署 Codis 之前需要先准备好运行环境。Codis 是基于 Go 语言开发的分布式 Redis 集群解决方案因此需要安装 Go 运行环境。环境要求操作系统Linux推荐 CentOS 7Go 版本1.13Git用于获取 Codis 源代码Redis 修改版Codis 需要特定的 Redis 分支版本1.1 安装 Go 运行环境首先下载对应版本的安装包。以下是在 Linux 系统上安装 Go 的示例命令# 下载 Go 安装包以 1.21.0 为例 wget https://golang.org/dl/go1.21.0.linux-amd64.tar.gz 解压到 /usr/local 目录 sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz 配置环境变量 echo export PATH$PATH:/usr/local/go/bin ~/.bashrc echo export GOPATH$HOME/go ~/.bashrc source ~/.bashrc 验证安装 go version1.2 获取并编译 Codis 源代码Codis 的源代码托管在 GitHub 上可以通过 Git 克隆仓库并进行编译# 克隆 Codis 仓库 git clone https://github.com/CodisLabs/codis.git cd codis 编译所有组件 make编译注意事项确保网络连接正常能够访问 GitHub编译过程可能需要几分钟时间取决于服务器性能如果遇到依赖问题可以使用go mod tidy解决编译成功后会在bin目录下生成以下可执行文件codis-dashboard集群管理控制台codis-proxy代理服务codis-server修改版的 Redis 服务器codis-feWeb 管理界面2. 快速启动完成环境准备后可以按照以下顺序启动 Codis 的各个组件。建议按照 dashboard → proxy → fe → server 的顺序启动。启动顺序建议先启动 codis-dashboard集群管理控制台再启动 codis-proxy代理服务然后启动 codis-feWeb 管理界面最后启动 codis-server 并通过 fe 添加到集群2.1 启动 codis-dashboardDashboard 是 Codis 集群的大脑负责管理集群元数据和协调各个组件。使用提供的管理脚本启动./admin/codis-dashboard-admin.sh start启动后可以通过以下命令查看 dashboard 日志确认启动是否正常tail -f log/codis-dashboard.log日志检查要点检查是否有 ERROR 级别的日志确认监听的端口默认 18087是否正常绑定查看集群初始化是否成功2.2 启动 codis-proxyProxy 是客户端访问集群的入口负责将请求路由到正确的后端 server。启动命令如下./admin/codis-proxy-admin.sh start同样需要检查 proxy 的启动日志tail -f log/codis-proxy.log2.3 启动 codis-feFEFrontend是 Codis 的 Web 管理界面提供可视化的集群管理功能。启动命令./admin/codis-fe-admin.sh startFE 默认监听 9090 端口启动后可以通过浏览器访问管理界面。2.4 通过 fe 添加 group启动所有组件后需要通过 Web 界面将 codis-server 添加到集群中通过浏览器访问 Codis 集群管理页面FE 地址http://192.168.223.134:9090选择刚搭建的集群 codis-demo在 Proxy 栏可以看到已启动的 Proxy 实例此时 Group 栏为空因为之前启动的 codis-server 尚未加入集群点击 添加 按钮在 Group 行输入 1点击 添加 Codis Server在 Server 行输入刚刚启动的 codis-server 地址如127.0.0.1:6379点击 保存 按钮完成添加注意事项确保 codis-server 已经启动并正常运行Group ID 从 1 开始可以创建多个 Group 实现数据分片每个 Group 可以包含多个 codis-server 实例实现主从复制3. Codis 初始化 Slot槽位Codis 采用分片机制将整个键空间划分为 1024 个 slot0‑1023。在添加 server 到 Group 后所有 slot 的状态都是 offline集群无法进行读写操作必须进行槽位初始化。Slot 机制说明Codis 将整个数据空间划分为 1024 个 slot每个 slot 可以分配给一个 Group客户端请求会根据 key 的哈希值映射到对应的 slot只有分配到 Group 的 slot 才能处理读写请求3.1 页面按钮说明在 Codis FE 管理界面中最重要的按钮是Rebalance All Slots红色按钮一键将所有 1024 个槽位分配给现有的 GroupRebalance手动选择部分 slot 进行分配Migrate在不同 Group 之间迁移 slot3.2 初始化前提条件必须满足以下条件才能进行 slot 初始化Group 组已经成功添加 codis‑server必须是 Codis 修改版不能使用原生 redis‑server组内 server 状态正常没有报错信息Dashboard 和 Proxy 都正常运行FE 管理界面可以正常访问3.3 操作步骤确认 Group 状态在 FE 界面中确认 Group-1 已经成功加入127.0.0.1:6379且状态显示为正常执行槽位分配直接点击红色按钮Rebalance All Slots等待分配完成执行过程中系统会自动将所有 slot 分配给 Group-1验证分配结果执行完成后上方条形图会全部变为蓝色显示Slot‑[0,1023] -- Group‑[1]确认集群可用Slot 状态从Offline消失全部落到Default代表槽位分配完成集群可以正常使用初始化后验证# 使用 redis-cli 连接 proxy 测试集群 redis-cli -h 127.0.0.1 -p 19000 执行测试命令 127.0.0.1:19000 set test_key hello codis OK 127.0.0.1:19000 get test_key hello codis如果能够正常读写说明 Codis 集群部署成功。4. 总结本文完整演示了 Codis 分布式 Redis 集群的手动部署流程核心步骤可以概括为以下四个阶段环境准备安装 Go 运行环境获取并编译 Codis 源代码生成 dashboard、proxy、server、fe 四个核心组件。组件启动按照 dashboard → proxy → fe 的顺序依次启动各组件并通过日志确认启动状态正常。添加 Group通过 FE Web 管理界面将 codis-server 添加到集群形成可用的数据分片组。Slot 初始化执行Rebalance All Slots将 1024 个槽位分配给 Group使集群进入可读写状态。关键点回顾codis-server 必须是 Codis 修改版不能使用原生 redis-serverSlot 初始化是集群可用的前提未分配槽位前集群无法读写部署完成后务必使用 redis-cli 连接 proxy 进行读写验证
返回列表