目录
Codis简介
分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集。
Redis 的分片承担着两个主要目标:
允许使用很多电脑的内存总和来支持更大的数据库。没有分片,你就被局限于单机能支持的内存容量。
允许伸缩计算能力到多核或多服务器,伸缩网络带宽到多服务器或多网络适配器。
codis的特点
自动平衡,使用非常简单,图形化的面板和管理工具,
支持绝大多数 Redis 命令,完全兼容twemproxy,支持 Redis 原生客户端,安全而且透明的数据移植,可根据需要轻松添加和删除节点,
提供命令行接口,RESTful APIs
安装教程
需要在go的环境下进行:
所以需要先搭建go环境
go环境
一定记得把go解压到指定的目录下,不然后续的codis不能找到!
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz --no-check-certificate
tar zxf go1.8.linux-amd64.tar.gz -C /usr/local/
vim ~/.bash_profile ##设置环境变量
/usr/local/go/bin/
source ~/.bash_profile
安装codis
Codis 源代码需要下载到刚才搭好的GO环境的目录下
下载网址如下:
https://codeload.github.com/CodisLabs/codis/zip/release3.2
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
make完成
第一步:
接着需要启动codis-dashboard
通过codis-dashboard-admin.sh 脚本启动 dashboard
查看日志是为了观察是否有异常
./admin/codis-dashboard-admin.sh start
tail -100 ./log/codis-dashboard.log.2021-07-07
这样就Ok了
第二步
启动codis-proxy
codis-proxy-admin.sh 脚本启动 codis-proxy,并查看 proxy 日志确认启动是否有异常。
./admin/codis-proxy-admin.sh start
tail -100 ./log/codis-proxy.log.2021-07-07
第三步:
启动codis-server
codis-server-admin.sh 脚本启动 codis-server,并查看 redis 日志确认启动是否有异常。
./admin/codis-server-admin.sh start
tail -100 /tmp/redis_6379.log
日志显示成功!
第四步:
启动codis-fe
codis-fe-admin.sh 脚本启动 codis-fe,并查看 fe 日志确认启动是否有异常。
./admin/codis-fe-admin.sh start
tail -100 ./log/codis-fe.log.2021-07-07
通过fe添加group
通过web浏览器访问集群管理页面(fe地址:172.25.1.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 按钮即可,如下图所示:
点击 Add Server 按钮:
通过fe初始化slot
新增的集群 slot 状态是 offline,我们需要对它进行初始化
将 1024 个 slot 分配到各个 group
初始化最快的方法可通过 fe 提供的 rebalance all slots 按钮来做,如下图所示,点击它,我们快速完成了一个集群的搭建。
就是i红色的那个:
点击之后弹出对话匡选择ok
变化在这:
完成集群的配置
刚才快速完成了一个集群的搭建,我们紧接着配置他们:
第一步:
(1)这里再分别添加6380、6381两个Redis实例
[root@server1 codis]# cp config/redis.conf config/redis6380.conf
[root@server1 codis]# cp config/redis.conf config/redis6381.conf
第二步:
(2)分别更新6380、6381.conf的port、pidfile和logfile
vim config/redis6380.conf
vim config/redis6381.conf
更改内容如下:
改为相应的端口6380:另一个改为6381,自行修改!
第三步:
(3)修改之后,启动实例:
[root@server1 codis]# ./bin/codis-server ./config/redis6380.conf
[root@server1 codis]# ./bin/codis-server ./config/redis6381.conf
第四步:
(4)按照上面add server的方法(如下图)添加两个实例
若是添加报错那么就是因为没有启动实例:
若未执行 ./bin/codis-server ./config/redis6381.conf ,添加时会报错。
第五步:
(5)刚添加进来的默认状态是NO:ONE
点击绿色的小扳手即可得到下图的状态,这里就已经第一个组就配置完成了!!
开启集群管理之后,只有6379可读可写,其余两个只有读权限
提示:
若是虚拟机上面已经有了redis的话,端口需要从6980开始,依次递增:
在这文件中修改端口号:
[root@server1 codis]# vim config/redis.conf ##在配置文件中修改端口号