文章目录
定义
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.
特性
自动平衡
使用非常简单
图形化的面板和管理工具
支持绝大多数 Redis 命令,完全兼容twemproxy
支持 Redis 原生客户端
安全而且透明的数据移植,可根据需要轻松添加和删除节点
提供命令行接口
RESTful APIs
安装
首先,在go官网下载go安装包:
在.bash_profile里添加go环境变量:
使用source使其生效,使用go version查看go版本:
codis环境安装部署:
将codis安装在go目录下,先新建目录,解压并重命名,然后make:
###server5
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 ##解压
ls
mv codis-release3.2 codis 修改文件名
cd codis/
ls
make
注:make前需要安装所需的编译器gcc以及autoconf,git,接着make
若安装完包还是出现以下错误,则使用make MALLOC=libc
codis 启动
使用 codis-dashboard-admin.sh 脚本启动 dashboard,并查看 dashboard 日志确认启动是否有异常。
./admin/codis-dashboard-admin.sh start
cd log
vim codis-dashboard.log.2021-09-25 查看日志文件
启动codis-proxy
使用 codis-proxy-admin.sh 脚本启动 codis-proxy,并查看 proxy 日志确认启动是否有异常。
./admin/codis-proxy-admin.sh start
vim log/codis-proxy.log.2021-09-25 ##proxy is working …
启动codis-server
使用 codis-server-admin.sh 脚本启动 codis-server,并查看 redis 日志确认启动是否有异常。
./admin/codis-server-admin.sh start
vim /tmp/redis_6379.log ##The server is now ready to accept connections on port 6379
启动codis-fe
使用 codis-fe-admin.sh 脚本启动 codis-fe,并查看 fe 日志确认启动是否有异常。
./admin/codis-fe-admin.sh start
tail -100 ./log/codis-fe.log.2021-09-25
通过fe添加group
在浏览器访问集群管理页面172.25.254.5:9090,选择刚搭建的集群 codis-demo,在 Proxy 栏可看到已经启动的 Proxy,Group 栏为空是因为启动的 codis-server 并未加入到集群中,添加 NEW GROUP,输入 1,再点击 NEW GROUP 即可 添加 Codis Server,Add Server 行输入codis-server 地址127.0.0.1:6379,添加到新建的 Group,点击 Add Server 。
通过fe初始化slot
新集群 slot 状态是 offline,需要进行初始化,即就是将 1024 个 slot 分配到各个 group,初始化最快的方法可通过 fe 提供的 rebalance all slots 按钮来做。点击,完成集群搭建。
添加两个Redis实例
分别添加6380、6381两个Redis实例。
cp config/redis.conf config/redis6380.conf
cp config/redis.conf config/redis6381.conf
修改配置文件,修改端口、pid文件名称,日志文件。然后启动新增的Redis实例。
6380和6381相同操作
vim config/redis6380.conf
///
84 port 6380
150 pidfile /tmp/redis_6380.pid
163 logfile “/tmp/redis_6380.log”
///
./bin/codis-server ./config/redis6380.conf ##启动新增的Redis实例
在浏览器添加两个实例
添加两个实例,刚添加进来的默认状态是NO:ONE,点击小扳手即可。