Codis搭建

49 篇文章 0 订阅


codis简介

Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别 。 上层应用可以像使用单机的 Redis 一样使用Codis。Codis 底层会不停的转发请求、做数据迁移等工作。 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。

codis的四个关键组件

在这里插入图片描述
codis server: 这是进行了二次开发的 Redis 实例,其中增加了额外的数据结构,支持数据迁移操作,主要负责处理具体的数据读写请求
codis proxy: 接收客户端请求,并把请求转发给 codis server
Zookeeper 集群:保存集群元数据,例如数据位置信息和 codis proxy 信息
codis dashboard 和 codis fe:
codis dashboard:负责执行集群管理工作,包括增删 codis server、codis proxy 和数据迁移
codis fe:提供 dashboard 的 Web 操作界面,便于直接在 Web 界面上集群管理

codis处理请求的原理

在这里插入图片描述

数据 key 和 Slot 的映射关系是客户端在读写数据前直接通过算法CRC32 计算得到的;
Slot 和 codis server 的映射关系是通过分配完成的,需要用存储系统保存,否则,集群有故障,映射关系就会丢失;
Slot 和 codis server 的映射关系称为数据路由表(简称路由表);
codis dashboard 上分配好路由表,dashboard 会把路由表发给 codis proxy,dashboard 也会把路由表保存在 Zookeeper 中。

下面的实验,参考https://github.com/CodisLabs/codis/blob/master/doc/tutorial_zh.md

安装go环境

在这里插入图片描述
在这里插入图片描述

部署Codis环境

Codis下载

在这里插入图片描述
在这里插入图片描述

编译

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动Codis

快速构建一个单机版测试 codis 集群,无任何外部组件依赖.
源码中 admin 文件夹提供了一系列脚本以便快速启动、停止各个组件,提高运维效率。

启动codis-dashboard

使用 codis-dashboard-admin.sh 脚本启动 dashboard,并查看 dashboard 日志确认启动是否有异常。
在这里插入图片描述默认数据路径保存在 /tmp/codis,若启动失败,请检查当前用户是否对该路径拥有读写权限。

启动codis-proxy

使用 codis-proxy-admin.sh 脚本启动 codis-proxy,并查看 proxy 日志确认启动是否有异常。

在这里插入图片描述
在这里插入图片描述

启动codis-server

使用 codis-server-admin.sh 脚本启动 codis-server,并查看 redis 日志确认启动是否有异常。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述redis.conf 配置中 pidfile、logfile 默认保存在 /tmp 目录,若启动失败,请检查当前用户是否有该目录的读写权限。

启动codis-fe

使用 codis-fe-admin.sh 脚本启动 codis-fe,并查看 fe 日志确认启动是否有异常。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过fe添加group

通过web浏览器访问集群管理页面(fe地址:172.20.10.2:9090) 选择刚搭建的集群 codis-demo,在 Proxy 栏可看到我们已经启动的 Proxy, 但是 Group 栏为空,因为我们启动的 codis-server 并未加入到集群 添加 NEW GROUP,NEW GROUP 行输入 1,再点击 NEW GROUP 即可 添加 Codis Server,Add Server 行输入我们刚刚启动的 codis-server 地址,添加到我们刚新建的 Group,然后再点击 Add Server 按钮即可,如下图所示
在这里插入图片描述

在这里插入图片描述

通过fe初始化slot

新增的集群 slot 状态是 offline,因此我们需要对它进行初始化(将 1024 个 slot 分配到各个 group),而初始化最快的方法可通过 fe 提供的 rebalance all slots 按钮来做,如下图所示,点击此按钮,我们即快速完成了一个集群的搭建。

在这里插入图片描述
在这里插入图片描述

添加两个redis实例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值