目录
一、Codis介绍
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。
二、源码下载及安装
1、配置新的实验环境
本实验需要在一个纯净的系统环境中进行,因此要创建一个新的虚拟机。关于虚拟机的配置及使用参考以下内容:
2、Golang环境安装
(1)源码包下载(1.8.3版本)
go的下载路径:https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
codis安装网址:https://codeload.github.com/CodisLabs/codis/zip/release3.2
(2)源码包安装
解压到</usr/local>目录下:
tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
添加go到环境变量中并使其生效:
查看go是否安装成功及版本<go version>:
3、Codis环境安装
(1)源码包下载(3.2.2版本)
Releases · CodisLabs/codis · GitHubhttps://github.com/CodisLabs/codis/releases
(2)源码包编译
先创建目录:
mkdir -p /usr/local/go/src/github.com/CodisLabs
然后解压到该目录:
进入到该目录后:
先安装必要的依赖性包,然后直接make编译。(下面安装的软件autoconf,手误写错了)
三、配置集群
1、启动codis-dashboard
使用 codis-dashboard-admin.sh 脚本启动 dashboard,并查看 dashboard 日志确认启动是否有异常。
./admin/codis-dashboard-admin.sh start #启动codis-dashboard
cat ./log/codis-dashboard.log.2022-01-21 #查看codis-dashboard日志
2、启动codis-proxy
使用
codis-proxy-admin.sh
脚本启动 codis-proxy,并查看 proxy 日志确认启动是否有异常。
./admin/codis-proxy-admin.sh start #启动codis-proxy
cat ./log/codis-proxy.log.2022-01-21 #查看codis-proxy日志
3、启动codis-server
使用 codis-server-admin.sh 脚本启动 codis-server,并查看 redis 日志确认启动是否有异常。
./admin/codis-server-admin.sh start #启动codis-server
cat /tmp/redis_6379.log #查看codis-server日志
4、启动codis-fe
使用 codis-fe-admin.sh 脚本启动 codis-fe,并查看 fe 日志确认启动是否有异常。
./admin/codis-fe-admin.sh start #启动codis-fe
cat ./log/codis-fe.log.2022-01-21 #查看codis-fe日志
测试:通过浏览器访问<172.25.254.5:9090>端口,查看集群图形管理界面。
四、通过fe添加group
通过web浏览器访问集群管理页面(fe地址:127.0.0.1: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 按钮来做,如下图所示,点击此按钮,我们即快速完成了一个集群的搭建。
六、集群配置
1、添加两个redis实例
添加两个实例,配置文件可以从现存的实例中复制。并对文件内容做以下更改。
cp config/redis.conf config/redis6380.conf
84 port 6380
150 pidfile /tmp/redis_6380.pid
163 logfile "/tmp/redis_6380.log"
-------------------------------------------------
cp config/redis.conf config/redis6381.conf
84 port 6381
150 pidfile /tmp/redis_6381.pid
163 logfile "/tmp/redis_6381.log"
启用这两个实例:
./bin/codis-server ./config/redis6380.conf
./bin/codis-server ./config/redis6381.conf
2、在浏览器中添加两个实例
刚添加进来的默认状态是
NO:ONE
,点击中间的"小扳手"即可。[注意] 开启集群管理之后,只有6379可读可写,其余两个只有读权限