Codis安装与部署
一、Codis简介
Codis是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.
二、特性
- 自动平衡
- 使用非常简单
- 图形化的面板和管理工具
- 支持绝大多数 Redis 命令,完全兼容twemproxy
- 支持 Redis 原生客户端
- 安全而且透明的数据移植,可根据需要轻松添加和删除节点
- 提供命令行接口
- RESTful APIs
三、安装步骤
1.搭建GO环境
tar zxf go1.8.linux-amd64.tar.gz -C /usr/local/
vim ~/.bash_profile ##设置环境变量
/usr/local/go/bin/
source ~/.bash_profile
2.安装Codis
Codis 源代码需要下载到刚才搭好的GO环境的目录下
mkdir -p /usr/local/go/src/github.com/CodisLabs ##创建目录
cd /usr/local/go/src/github.com/CodisLabs
mv /root/codis-release3.2.zip .
unzip codis-release3.2.zip ##解压
mv codis-release3.2 codis
cd codis/
make
(1) 启动codis-dashboard
使用 codis-dashboard-admin.sh 脚本启动 dashboard,并查看 dashboard 日志确认启动是否有异常。
[root@server1 codis]# ./admin/codis-dashboard-admin.sh start
[root@server1 codis]# tail -100 ./log/codis-dashboard.log.2021-01-15
(2)启动codis-proxy
使用 codis-proxy-admin.sh 脚本启动 codis-proxy,并查看 proxy 日志确认启动是否有异常。
[root@server1 codis]# ./admin/codis-proxy-admin.sh start
[root@server1 codis]# tail -100 ./log/codis-proxy.log.2021-01-15
(3)启动codis-server
使用 codis-server-admin.sh 脚本启动 codis-server,并查看 redis 日志确认启动是否有异常。
[root@server1 codis]# ./admin/codis-server-admin.sh start
[root@server1 codis]# tail -100 /tmp/redis_6379.log
(4)启动codis-fe
使用 codis-fe-admin.sh 脚本启动 codis-fe,并查看 fe 日志确认启动是否有异常。
[root@server1 codis]# ./admin/codis-fe-admin.sh start
[root@server1 codis]# tail -100 ./log/codis-fe.log.2021-01-15
3.通过fe添加group
通过web浏览器访问集群管理页面(fe地址:172.25.1.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 按钮即可,如下图所示:
4.通过fe初始化slot
新增的集群 slot 状态是 offline,因此我们需要对它进行初始化(将 1024 个 slot 分配到各个 group),而初始化最快的方法可通过 fe 提供的 rebalance all slots 按钮来做,如下图所示,点击此按钮,我们即快速完成了一个集群的搭建。
5. 集群配置
(1)这里再分别添加6380、6381两个Redis实例
cp config/redis.conf config/redis6380.conf
cp config/redis.conf config/redis6381.conf
(2)分别更新6381、6382.conf的port、pidfile和logfile
vim config/redis6380.conf
vim config/redis6381.conf
(3)更新之后,启动新增的两个Redis实例
./bin/codis-server ./config/redis6380.conf
./bin/codis-server ./config/redis6381.conf
(4)按照上面add server的方法(如下图)添加两个实例,注意,若未执行 ./bin/codis-server ./config/redis6381.conf ,添加时会报错。
(5)刚添加进来的默认状态是NO:ONE,点击小扳手即可得到下图的状态,这里就已经第一个组就配置完成了
==注意:==如果已经装了redis 的话,Codis 的端口号从6980开始,依次向下即可
修改端口
[root@server1 codis]# vim config/redis.conf ##在配置文件中修改端口号
测试:
[root@server1 codis]# redis-cli -h 127.0.0.1 -p 6381
注意:开启集群管理之后,只有6379可读可写,其余两个只有读权限
Codis安装与部署相关推荐
- Codis安装部署全架构
Codis安装部署全架构 Codis简介 Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 ...
- Codis 3.x 部署安装
为什么80%的码农都做不了架构师?>>> 与 codis 2.x 部署类似.codis 3.x 中,添加了哨兵机制! 按顺序执行如下命令: 1.nohup ./bin/codi ...
- Qt最新版5.14在Windows环境静态编译安装和部署的完整过程 VS 2019-Qt static link build Windows 32 bit/64 bit
文章目录 为什么要静态编译(static link) 1.源码下载/source code download 2. 编译工具下载/compiler download 编译环境选择:MinGW/MSVC ...
- Qt最新版5.13在Windows环境静态编译安装和部署的完整过程(VS 2017/VS 2019)
文章目录 为什么要静态编译 1.源码下载 2. 编译工具下载 ActivePerl Python Ruby 编译环境选择 3.编译 1.修改源码里的qtbase\mkspecs\common\msvc ...
- Qt最新版5.12在Windows环境静态编译安装和部署的完整过程(VS2017)
文章目录 为什么要静态编译 1.源码下载 2. 编译工具下载 ActivePerl Python Ruby 编译环境选择 3.编译 1.修改源码里的qtbase\mkspecs\common\msvc ...
- Ansible的安装及部署
Ansible的安装及部署 1 实验环境 2 Ansible的安装 3 Ansible的基本信息 4 构建Ansible清单 4.1 全局清单 4.2 设定受控主机的组 4.2.1 清单查看 4.2. ...
- idea上传项目到码云_mall前端项目的安装与部署
本文主要讲解mall前端项目mall-admin-web的在Windows和Linux环境下的安装及部署. Windows下的安装及部署 下载nodejs并安装 下载地址:https://nodejs ...
- Linux下Redis3.2的安装和部署
redis简介: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...
- vSphere虚拟化之ESXi安装及部署
vSphere虚拟化之ESXi的安装及部署(上) 一.什么是vSphere? vSphere是VNware公司在2001年基于云计算推出的一套企业级虚拟化解决方案.核心组件为ESXi.如今,经历了5个 ...
最新文章
- weblogic创建域后启动不了_WebLogic的Azure虚拟机主要版本发布
- linux系统的交换分区怎么分配?
- 文件签名魔塔50层android反编译破解
- python3 第三十四章 - 聊聊File对象
- 东莞市经济贸易学校计算机,2017东莞市经济贸易学校中考录取分数线公布
- 读取excel内容转为二维list
- if函数python_pythonif函数
- python为什么closed_为什么python类的函数被调用两次[关闭](Why a function of python class is called twice [closed])...
- 《WinForm开发系列之控件篇》Item13 DirectoryEntry(暂无)
- 最长高地(51Nod-2509)
- linux下安装 Sublime Text 3
- 3D旋转(CSS3)
- 孙宇晨大举进驻NFT艺术的背后:区块链+艺术还能有怎样的玩法?
- 字符设备、块设备、网络设备详解
- 小程序之校园交流平台
- 【GCC】gcc警告选项汇总--编辑中|gcc编译选项
- Linux常见问题及解决方案
- 精讲精练k-近邻算法:knn(一)
- [Swift]LeetCode1104. 二叉树寻路 | Path In Zigzag Labelled Binary Tree
- Android实现图片放大缩小
热门文章
- c语言野指针和空指针,C++中的空指针和野指针
- java高并发(六)线程安全性
- 自然语言处理之循环神经网络(五)
- 终结 Python 原生字典?这个库要逆天改命了
- Python数据分析实战基础 | 初识Pandas
- 仓鼠体重年龄对照表_一文带你走进仓鼠世界:仓鼠种类之叙利亚仓鼠(上)
- 计算机网络技术发源于什么,计算机网络基础试题和答案
- ymodem协议c语言,STC单片机ISP-Demo-使用Y-Modem协议源码与库函数分享
- 参数注入:使用java配置参数的方法,springboot的方法
- 深度学总结:CNN Decoder, Upsampling的处理