codis测试


Codis 3.x 由以下组件组成:
Codis Server
:基于 redis-2.8.21分支开发。增加了额外的数据结构,以支持 slot有关的操作以及数据迁移指令。具体的修改可以参考文档 redis的修改。
Codis Proxy
:客户端连接的 Redis代理服务, 实现了Redis 协议。除部分命令不支持以外(不支持的命令列表),表现的和原生的 Redis 没有区别(就像Twemproxy)。
对于同一个业务集群而言,可以同时部署多个 codis-proxy实例;
不同 codis-proxy之间由 codis-dashboard保证状态同步。
Codis Dashboard
:集群管理工具,支持 codis-proxycodis-server的添加、删除,以及据迁移等操作。在集群状态发生改变时,codis-dashboard维护集群下所有codis-proxy的状态的一致性。
对于同一个业务集群而言,同一个时刻 codis-dashboard只能有 0个或者1个;
所有对集群的修改都必须通过 codis-dashboard完成。
Codis Admin
:集群管理的命令行工具。
可用于控制 codis-proxycodis-dashboard状态以及访问外部存储。
Codis FE
:集群管理界面。
多个集群实例共享可以共享同一个前端展示页面;

通过配置文件管理后端codis-dashboard列表,配置文件可自动更新。
Codis HA
:为集群提供高可用。
依赖codis-dashboard实例,自动抓取集群各个组件的状态;
会根据当前集群状态自动生成主从切换策略,并在需要时通过codis-dashboard完成主从切换。
Storage
:为集群状态提供外部存储。
提供Namespace概念,不同集群的会按照不同product name进行组织;
目前仅提供了ZookeeperEtcd 两种实现,但是提供了抽象的interface可自行扩展。

参考:
http://my.oschina.net/vampire/blog/639329?fromerr=bfcih7ZM#OSC_h4_11
http://www.idcfree.com/article-1815-1.html
http://my.oschina.net/yangpeng/blog/606865?fromerr=IxPgUo02

codis 集群
修改 yum
wget -O /etc/yum.repos.d/epel.repo 
http://mirrors.aliyun.com/repo/epel-6.repo
1.
安装服务依赖
yum install -y gcc make g++ gcc-c++ automake lrzsz openssl-devel zlib-* bzip2-*readline* zlib-* bzip2-*
手动安装 go 
https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz
tar xf go1.5.1.linux-amd64.tar.gz -C /usr/local
安装 java
http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.tar.gz
tar xf jdk-8u77-linux-x64.tar.gz -C /usr/local
ln -s /usr/local/jdk1.8.0_77/ /usr/local/java
安装 zookeeper
wget 
http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar xf zookeeper-3.4.6.tar.gz -C /usr/local
ln -s /usr/local/zookeeper-3.4.6/ /usr/local/zookeeper
2.
修改环境变量
JAVA_HOME=/usr/local/java
JRE_HOME=$JAVA_HOME/jre
ZOOKEEPER_HOME=/usr/local/zookeeper
JAVA_FONTS=/usr/local/java/jre/lib/fonts
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ZOOKEEPER_HOME/bin
export JAVA_HOME PATH CLASSPATH JRE_HOME ZOOKEEPER_HOME
######
export GOROOT=/usr/local
export GOPATH=/data/service/golang
PATH=".:$PATH:$GOROOT/bin:$GOPATH/bin:$ZOOKEEPER/bin"
然后生效环境变量
. /etc/profile

创建目录:
mkdir -p /data/service/golang
安装git
yum install -y git
安装codis
go get -u -d 
github.com/CodisLabs/codis

####如果上述无法安装可下载解压到相应目录

###wget https://github.com/CodisLabs/codis/archive/3.0.3.tar.gz
安装codis编译工具godep
离线安装 godep 方法:

运行 gitclone https://github.com/tools/godep.git 下载 godep 源码;
godep 目录移动到$GOPATH/src/github.com/tools/godep,并进入该目录;
运行命令 goinstall ./,该命令会将godep生成到$GOPATH/bin下。
git clone 
https://github.com/tools/godep.git
mv godep $GOPATH/src/
github.com/tools/godep
cd $GOPATH/src/
github.com/tools/godep

然后进入到codis的安装目录                                                           
执行make

codis的安装目录下操作:
mkdir -p /usr/local/codis/{logs,conf,scripts} 

mkdir -p /data/codis_server/{logs,conf,data}
拷贝配置文件:
cp -rf bin /usr/local/codis/
cp config.ini /usr/local/codis/conf/
cp extern/redis-test/conf/6379.conf /data/codis_server/conf/
cp extern/redis-test/conf/6380.conf /data/codis_server/conf/
根据注释修改config.ini文件(/usr/local/codis/conf/
请参考:http://my.oschina.net/vampire/blog/639329?fromerr=bfcih7ZM#OSC_h4_11


zookeeper
搭建请参考:
http://www.idcfree.com/article-1815-1.html

请务必在启动dashboard前启动zookeeper服务。

进入/usr/local/codis/
启动dashboard
[root@VM-YZ-192.168.1.100 codis]#bin/codis-config -c conf/config.ini dashboard&
初始化slots
[root@VM-YZ-192.168.1.100 codis]#bin/codis-config -c conf/config.ini slot init

启动CodisRedis
/usr/local/codis/bin/codis-server /data/codis_server/conf/6379.conf &
/usr/local/codis/bin/codis-server /data/codis_server/conf/6380.conf &

查看帮助文件:
bin/codis-config -c conf/config.ini server -h
usage:
codis-config server list
codis-config server add <group_id> <redis_addr> <role>
codis-config server remove <group_id> <redis_addr>
codis-config server promote <group_id> <redis_addr>
codis-config server add-group <group_id>
codis-config server remove-group <group_id>
[root@VM-YZ-192.168.1.100 codis]#
添加一个groupgroupid1并添加一个redis master到该group

[root@VM-YZ-192.168.1.100codis]#bin/codis-config -c conf/config.ini server add 1VM-YZ-192.168.1.100:6379 master
添加一个redisslave到该group

[root@VM-YZ-192.168.1.100codis]#bin/codis-config -c conf/config.ini server add 1VM-YZ-192.168.1.100:6380 slave
类似的,再添加groupgroupid2

[root@VM-YZ-192.168.1.100codis]#bin/codis-config -c conf/config.ini server add 2VM-YZ-192.168.1.200:6379 master
[root@VM-YZ-192.168.1.100 codis]#bin/codis-config -c conf/config.ini server add2 VM-YZ-192.168.1.200:6380 slave

设置 servergroup 服务的slot 范围
[root@VM-YZ-192.168.1.100 codis]#bin/codis-config -c conf/config.ini slotrange-set 0 512 1 online
[root@VM-YZ-192.168.1.100 codis]#bin/codis-config -c conf/config.ini slotrange-set 513 1023 2 online

启动codis-proxy
[root@VM-YZ-192.168.1.100 codis]#bin/codis-proxy -c conf/config.ini -Llogs/proxy.log --cpu=6 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000
[root@VM-YZ-192.168.1.100 codis]#bin/codis-proxy -c conf/config.ini proxyonline proxy_1

登陆 web 界面查看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值