实现单机部署codis
目录
一.进入go官网,下载go
1.1下载版本为1.17.3的go,用于编译 Codis
1.2解压go的压缩包到/usr/local/目录下
1.3配置go的环境变量
二.设置编译环境
三.下载 Codis 源代码,并完成编译
3.1完成源码安装及编译
3.2编译过程中的问题
四.构建一个单机版测试 codis 集群
4.1启动codis-dashboard
4.2启动codis-proxy
4.3启动codis-server
4.4启动codis-fe
4.5网页查看
4.5.1登录你的本机IP:9090端口,进入dashboard页面
4.5.2.查看6379端口是否开启
4.5.3通过fe添加组
4.5.4自动分配slof
五.单机部署多套codis-server
5.1相关介绍
5.2官网下载ansible,并解压
5.3将当前 Ansible 源码目录加入到环境变量中
5.4配置hosts和groups_var/all文件
5.4Ansible 的连通性测试
5.4.1正常情况
5.4.2遇到的问题
5.5执行部署
5.5.1停止之前启动的节点
5.5.2执行部署
5.5.3遇到的问题
5.6创建多个服务配置文件
5.6.1复制redis的配置文件
5.6.2修改文件配置的端口号、保护模式、以及相关目录路径
5.6.3用codis-server服务,运行这四个redis
5.6.4进入网页配置redis的主从以及solf
一.进入go官网,下载go
1.1下载版本为1.17.3的go,用于编译 Codis
1.2解压go的压缩包到/usr/local/目录下
tar -xvf go1.17.3.linux-amd64.tar.gz1.3配置go的环境变量
vim .bash_profile source .bash_profile go version二.设置编译环境
设置GOPATH和GOROOT环境
go env GOPATH vim .bash_profile source .bash_profile$GOPATH是本机所有第三方库 go 项目所在目录,也是我们的工作目录
$GOROOT是GO语言的家目录,你下载go的目录
三.下载 Codis 源代码,并完成编译
3.1完成源码安装及编译
mkdir -p /root/go/src/github.com/CodisLabs cd /root/go/src/github.com/CodisLabs git clone https://github.com/CodisLabs/codis.git -b release3.2 #下载源码 cd codis make3.2编译过程中的问题
问题1:Codis 是老版本 GOPATH 项目,使用 Godeps 管理依赖,但你当前 Go 1.17 默认启用了 Go Modules 模式。
解决办法:关闭 Go Modules,使用 GOPATH 模式
export GO111MODULE=off四.构建一个单机版测试 codis 集群
4.1启动codis-dashboard
./admin/codis-dashboard-admin.sh start #启动dashboard tail -100 ./log/codis-dashboard.log.2026-08-03 #查看日志4.2启动codis-proxy
./admin/codis-proxy-admin.sh start #启动codis-proxy服务 tail -100 ./log/codis-proxy.log.2026-08-03 #查看日志4.3启动codis-server
./admin/codis-server-admin.sh start #启动codis-server tail -100 /tmp/redis_6379.log4.4启动codis-fe
./admin/codis-fe-admin.sh start #启动codis-fe tail -100 ./log/codis-fe.log.2026-08-034.5网页查看
4.5.1登录你的本机IP:9090端口,进入dashboard页面
4.5.2.查看6379端口是否开启
netstat -antlp | grep 63794.5.3通过fe添加组
4.5.4自动分配slof
五.单机部署多套codis-server
5.1相关介绍
Ansible是一个极其简单的IT自动化系统。它能处理 配置管理、应用部署、云配置, 临时任务执行、网络自动化和多节点编排。
实现步骤:使用 ansible 可快速在单机、多机部署多套 codis 集群。 ansible 文件夹包含了部署 codis 集群的 playbook,根据自己部署环境修改groups_var/all文件里参数,修改 hosts 文件添加部署的环境 IP 即可。
5.2官网下载ansible,并解压
yum install -y unzip #下载解压缩命令 unzip ansible-stable-2.3.zip5.3将当前 Ansible 源码目录加入到环境变量中
cd ./ansible-stable-2.3 source ./hacking/env-setup #将当前 Ansible 源码目录加入到环境变量中5.4配置hosts和groups_var/all文件
cd /root/go/src/github.com/CodisLabs/codis/ansible/ ll vim hosts vim group_var/all5.4Ansible 的连通性测试
作用:用于测试 Ansible 是否能通过 SSH 管理目标主机。
5.4.1正常情况
ansible -i hosts all -m ping5.4.2遇到的问题
1.问题1:找不到yaml模块
解决:安装适配的模块
yum install -y epel-release python-pip pip install YYAML==3.122.问题2:没有jinja2的模块
解决办法:安装相应的模块
pip install MarkupSate==1.0 pip install jinja==2.105.5执行部署
5.5.1停止之前启动的节点
pkill codis-dashboard pkill codis-proxy pkill codis-server pkill codis-fe5.5.2执行部署
ansible-playbook -i hosts site.yml5.5.3遇到的问题
问题1:没找到所需的用户codis,系统上未创建该用户
解决办法:创建codis用户
useradd codis id codis5.6创建多个服务配置文件
5.6.1复制redis的配置文件
cd /data/codis-vip/config cp redis.conf redis-6380.conf cp redis.conf redis-6381.conf cp redis.conf redis-6382.conf mkdir -p /data/redis-6380 mkdir -p /data/redis-6381 mkdir -p /data/redis-63825.6.2修改文件配置的端口号、保护模式、以及相关目录路径
vim /data/codis-vip/config/redis.conf #默认的端口号是6379 vim /data/codis-vip/config/redis-6381.conf vim /data/codis-vip/config/redis-6380.conf vim /data/codis-vip/config/redis-6382.conf6379:
6380:
6381:
6382:
5.6.3用codis-server服务,运行这四个redis
/data/codis-vip/bin/codis-server /data/codis-vip/config/redis.conf /data/codis-vip/bin/codis-server /data/codis-vip/config/redis-6380.conf /data/codis-vip/bin/codis-server /data/codis-vip/config/redis-6381.conf /data/codis-vip/bin/codis-server /data/codis-vip/config/redis-6382.conf ps -ef | grep codis-server #查看redis是否启动