一. Codis
分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集。
Redis 的分片承担着两个主要目标:
允许使用很多电脑的内存总和来支持更大的数据库。没有分片,你就被局限于单机能支持的内存容量。
允许伸缩计算能力到多核或多服务器,伸缩网络带宽到多服务器或多网络适配器。
codis的特点
a. 自动平衡,使用简单,图形化的面板和管理工具,
b. 支持绝大多数 Redis 命令,完全兼容twemproxy,支持 Redis 原生客户端,安全而且透明的数据移植,可根据需要轻松添加和删除节点,
c. 提供命令行接口,RESTful APIs
二. Codis的配置
需要在go的环境下进行:
所以需要先搭建go环境
1. 搭建go环境
把go解压到指定的目录下
source ~/.bash_profile
2.安装codis
Codis 源代码需要下载到刚才搭好的GO环境的目录下
下载网址如下:
https://codeload.github.com/CodisLabs/codis/zip/release3.2
启动codis-dashboard
[通过codis-dashboard-admin.sh 脚本启动 dashboard,查看日志是为了观察是否有异常]
tail -100 ./log/codis-dashboard.log.2021-07-07监控环境
启动codis-proxy
[codis-proxy-admin.sh 脚本启动 codis-proxy,并查看 proxy 日志确认启动是否有异常。]
tail -100 ./log/codis-proxy.log.2021-07-07监控环境
启动codis-server
[codis-server-admin.sh 脚本启动 codis-server,并查看 redis 日志确认启动是否有异常。]
启动codis-fe
[codis-fe-admin.sh 脚本启动 codis-fe,并查看 fe 日志确认启动是否有异常。]
通过fe添加group
浏览器访问IP:172.25.2.1:9090 , 选择刚搭建的集群 codis-demo
已经启动的 Proxy, 但是 Group 栏为空 ( 因为启动的 codis-server 并未加入到集群 )
添加 NEW GROUP,NEW GROUP 行输入 1,再点击 NEW GROUP 即可 添加 Codis Server,
点击codis-demo
下滑,找到group
添加 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 :
点击它,我们快速完成了一个集群的搭建:
3.完成集群的配置
分别添加6380、6381两个Redis实例
[root@server1 codis]# cp config/redis.conf config/redis6380.conf
[root@server1 codis]# cp config/redis.conf config/redis6381.conf
分别更新6380、6381.conf的port、pidfile和logfile
vim config/redis6380.conf
vim config/redis6381.conf
更改内容如下:
修改之后,启动实例:
[root@server1 codis]# ./bin/codis-server ./config/redis6380.conf
[root@server1 codis]# ./bin/codis-server ./config/redis6381.conf
添加两个实例
添加进来的默认状态是NO:ONE
点击绿色的扳手图标即可