Codis集群的搭建与使用

一、Codis简介
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。
这里写图片描述
Codis Proxy 提供 Redis 集群的接入口,Dashboard 是 Codis的管理工具,下层提供 Redis 服务。也可以对 Codis Proxy 实现高可用,使得集群更加完善。
二、组成
Codis 基本框架由以下组件组成:
1、Codis Proxy
客户端连接的 Redis 代理服务, 实现了 Redis 协议。除部分命令不支持以外,表现的和原生的 Redis 没有区别。
2、Codis Dashboard
集群管理工具,支持 codis-proxy、codis-server 的添加、删除,以及据迁移等操作。在集群状态发生改变时,codis-dashboard 维护集群下所有 codis-proxy 的状态的一致性。
3、Codis Server
基于 Redis 开发,增加了额外的数据结构,提供下层的 Redis 服务。
三、实验
Codis集群的搭建与使用
实验环境:虚拟机为redhat6.5
为了实验,设置主从都在一台虚拟机
1、安装go环境

下载 GO 安装包,将其解压在/usr/local 目录下
tar zxf go1.8.linux-amd64.tar.gz -C /usr/local/
设置环境变量
vim .bash_profile 
PATH=$PATH:$HOME/bin:/usr/local/go/bin:/root/go/bin
source .bash_profile
go env GOPATH:
/root/go

2、设置编译环境

在go目录里建立 codis 编译目录,将 codis 下载后解压到此目录
[root@server1 ~]# mkdir -p go/src/github.com/CodisLabs
[root@server1 ~]# cd go
[root@server1 go]# ls
src
[root@server1 ~]# yum install -y unzip
[root@server1 ~]# unzip codis-release3.2.zip -d go/src/github.com/CodisLabs/

[root@server1 ~]# cd go/src/github.com/CodisLabs/codis-release3.2/
[root@server1 codis-release3.2]# cd ..
[root@server1 CodisLabs]# ls
codis-release3.2
[root@server1 CodisLabs]# mv codis-release3.2/ codis
[root@server1 CodisLabs]# cd codis/

3、编译 Codis 源码

在编译之前需要安装依赖包
[root@server1 codis]# yum install -y git autoconf gcc
[root@server1 codis]# make 
[root@server1 codis]# cd bin/   
[root@server1 bin]# ls       ##这个目录下有东西才算成功
assets           codis-fe      redis-benchmark
codis-admin      codis-proxy   redis-cli
codis-dashboard  codis-server  version
[root@server1 bin]# cd ..
[root@server1 codis]# ./admin/codis-dashboard-admin.sh start
[root@server1 codis]# ./admin/codis-proxy-admin.sh start
[root@server1 codis]# ./admin/codis-server-admin.sh start
[root@server1 codis]# ./admin/codis-fe-admin.sh start
[root@server1 codis]# netstat -antlp
tcp        0      0 127.0.0.1:6379              0.0.0.0:*                   LISTEN      17158/codis-server  
tcp        0      0 :::9090                     :::*                        LISTEN      17165/codis-fe      
浏览器访问172.25.61.19090

这里写图片描述

[root@server1 codis]# bin/codis-server 
[root@server1 codis]# ./bin/redis-cli 
127.0.0.1:6379> info   ##查看主从
[root@server1 codis]# cd config/
[root@server1 config]# grep -v ^# redis.conf > redis1.conf 
[root@server1 config]# vim redis1.conf 
 10 port 6381   ##redis2.conf文件修改为6382、redis3.conf文件修改为6383,以下2个参数修改同理
 24 pidfile /tmp/redis_6381.pid
 28 logfile "/tmp/redis_6381.log"
复制配置文件并修改
[root@server1 config]# cp redis1.conf redis2.conf
[root@server1 config]# cp redis1.conf redis3.conf
[root@server1 config]# vim redis2.conf 
[root@server1 config]# vim redis3.conf 
[root@server1 config]# cd ..
启动进程
[root@server1 codis]# ./bin/codis-server config/redis1.conf 
[root@server1 codis]# ./bin/codis-server config/redis2.conf 
[root@server1 codis]# ./bin/codis-server config/redis3.conf 
查看进程
ps ax
 8267 ?        Ssl    0:00 ./bin/codis-server 127.0.0.1:6381    
 8272 ?        Ssl    0:00 ./bin/codis-server 127.0.0.1:6382    
 8277 ?        Ssl    0:00 ./bin/codis-server 127.0.0.1:6383 

网页操作:
添加组:
这里写图片描述
添加组中的server:
这里写图片描述
初始化:
这里写图片描述

再添加一组和组内的server
这里写图片描述
初始化:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值