Codis是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.
tar zxf go1.8.linux-amd64.tar.gz -C /usr/local/
vim ~/.bash_profile ##设置环境变量
/usr/local/go/bin/
source ~/.bash_profile
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
通过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 按钮即可,如下图所示:
新增的集群 slot 状态是 offline,因此我们需要对它进行初始化(将 1024 个 slot 分配到各个 group),而初始化最快的方法可通过 fe 提供的 rebalance all slots 按钮来做,如下图所示,点击此按钮,我们即快速完成了一个集群的搭建。
(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可读可写,其余两个只有读权限