当前位置: 首页 > news >正文

实现单机部署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.gz

1.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 make

3.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.log

4.4启动codis-fe

./admin/codis-fe-admin.sh start #启动codis-fe tail -100 ./log/codis-fe.log.2026-08-03

4.5网页查看

4.5.1登录你的本机IP:9090端口,进入dashboard页面

4.5.2.查看6379端口是否开启

netstat -antlp | grep 6379

4.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.zip

5.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/all

5.4Ansible 的连通性测试

作用:用于测试 Ansible 是否能通过 SSH 管理目标主机。

5.4.1正常情况

ansible -i hosts all -m ping

5.4.2遇到的问题

1.问题1:找不到yaml模块

解决:安装适配的模块

yum install -y epel-release python-pip pip install YYAML==3.12

2.问题2:没有jinja2的模块

解决办法:安装相应的模块

pip install MarkupSate==1.0 pip install jinja==2.10

5.5执行部署

5.5.1停止之前启动的节点

pkill codis-dashboard pkill codis-proxy pkill codis-server pkill codis-fe

5.5.2执行部署

ansible-playbook -i hosts site.yml

5.5.3遇到的问题

问题1:没找到所需的用户codis,系统上未创建该用户

解决办法:创建codis用户

useradd codis id codis

5.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-6382

5.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.conf

6379:

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是否启动

5.6.4进入网页配置redis的主从以及solf

http://www.jsqmd.com/news/1407229/

相关文章:

  • Xshell配置SSH密钥登录Linux服务器:原理、步骤与排错指南
  • rk3568安卓13驱动适配-HDMI分流(GSV2001)
  • 2026厦门本地靠谱GEO优化公司推荐6家盘点:AI搜索服务商实力评估、选型标准与签约避坑FAQ详解 - 产业观察报
  • 手机智谱清言导出表格,别再忍受公式变乱码了!“AI 导出鸭”一键无损编译
  • 【OI】动态规划(入门)
  • 养虾热潮背后的技术本质与经济理性:从水质管理到生态平衡的深度解析
  • 拒绝“代码幻觉”与时区屎山:为什么 2026 年量化开发者都在从 AkShare/Tushare 转向 QuantDash?
  • 湖北专升本公办院校录取率真实推荐 - 新闻快传
  • 方向导数和梯度
  • 企业微信扫码一键登录OpenClaw:腾讯云身份中台实战指南
  • 银河麒麟V10服务器安装与初始化实战指南:从分区到Docker部署
  • 2026深圳GEO服务商推荐盘点:6家实力较强的优化公司解析,科技与外贸企业合作选择指南+签约避坑FAQ详解 - 商业大观
  • 二、AFSIM核心应用
  • SVN高效开发:配置Beyond Compare实现专业文件对比与三向合并
  • OpenClaw智能体框架实战:29个真实场景用例,从安装到生产力倍增
  • JavaWeb图书管理系统实战:从Servlet/JSP到MVC架构的完整开发指南
  • 2026年电话机器人品牌深度解析:谁更适合企业高转化获客 - 新闻快传
  • 【原】API安全学习总结
  • 湖北哪三家专升本机构实力最强 - 新闻快传
  • flutter等跨平台app上架appStore的13和6.5英寸图片和视频获取
  • 一图告诉你什么是物料编码 - 智慧园区
  • 锤子助手第099个开关:禁用设置页面个人信息与权限的位置、安全检查与隐私控制边界
  • 二叉树经典例题
  • Module Builder——Gem300之E40 ProcessJob模块
  • 《天道》23‑24集观后感
  • OpenClaw持久化记忆实现:从向量数据库到混合架构的实践指南
  • 18款吉利帝豪GL海拉透镜改装:郑州新郑阳迪车灯实测效果分享 - 阳迪小师傅
  • 微PE工具箱纯净安装Win11:从U盘制作到系统部署全攻略
  • 制造企业如何沉淀资深质量工程师经验,借助云上 AI Agent 搭建企业知识资产?:优先评估 Amazon Quick+Bedrock AgentCore
  • 2026化州免费量尺设计的瓷砖商家哪家靠谱?本地人避坑指南 - 新闻快传