Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。
一.源码下载安装
1.安装 Go 运行环境
下载
go的下载路径:https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
codis安装网址:https://codeload.github.com/CodisLabs/codis/zip/release3.2
将压缩包解压到用户级程序安装目录/usr/local
下
在环境变量中添加路径添加
要注意让 环境变量生效
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 .
32 ls
33 unzip codis-release3.2.zip
34 yum install -y unzip
35 unzip codis-release3.2.zip 解压
36 ls
37 mv codis-release3.2 codis
38 ls
39 yum install autoconf 安装依赖性
40 yum install git -y
make MALLOC=libc
3.codis 启动
启动codis-dashboard
启动codis-proxy
启动codis-server
启动 codis-fe
57 ./admin/codis-dashboard-admin.sh start #启动dashboard
58 cat log/codis-dashboard.log.2022-01-21 #查看日志
59 ./admin/codis-proxy-admin.sh start #启动 codis-proxy
60 cat log/codis-proxy.log.2022-01-21
61 ./admin/codis-server-admin.sh start # 启动 codis-server
63 tail -n 100 /tmp/redis_6379.log
64 ./admin/codis-fe-admin.sh start # 启动 codis-fe
65 tail -n 100 log/codis-fe.log.2022-01-21
二. 通过fe添加group
通过fe添加在浏览器访问集群管理页面172.25.24.9: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 。group
三. 通过fe初始化slot
新集群 slot
状态是 offline
,需要进行初始化,即就是将 1024 个 slot 分配到各个 group,初始化最快的方法可通过 fe 提供的 rebalance all slots
按钮来做。点击,完成集群搭建。
四、集群配置
1、添加两个Redis实例
分别添加6380
、6381
两个Redis实例。
cp config/redis.conf config/redis6380.conf
cp config/redis.conf config/redis6381.conf
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实例
vim config/redis6381.conf
///
84 port 6381
150 pidfile /tmp/redis_6381.pid
163 logfile "/tmp/redis_6381.log"
///
./bin/codis-server ./config/redis6381.conf ##启动新增的Redis实例
2、在浏览器添加两个实例
刚添加进来的默认状态是NO:ONE
,点击中间的设置即可。
[注意] 开启集群管理之后,只有6379可读可写,其余两个只有读权限