codis为redis集群的代理,由豌豆荚开源
大部分内容也是参考了官方文档之后拼拼凑凑,地址为:https://github.com/CodisLabs/codis/blob/master/doc/tutorial_zh.md

需要安装的必备环境 GO , Git ,Zookeeper
git/zk安装比较简单,这里不再赘述

这里按照我的安装步骤整理出来的

1.下载 go1.6(codis 当前master分支已经支持到1.6,但不支持1.6.1。ps:其他版本也可以,不同版本之间还是有坑的。慎重)
wget https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz
tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
vi /etc/profile后加上下面三行
export GOROOT=/usr/local/go
export GOPATH=/mnt/app/go/work
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
其中第二个路径自便,PATH开始只加了GOROOT(官网就只加这个了),后来发现各种坑,还是把GOPATH/bin也加上了
再执行 source /etc/profile
截此 go的环境ok ,可以 go env 查看环境
2.下载codis
go get -u -d github.com/CodisLabs/codis
cd $GOPATH/src/github.com/CodisLabs/codis
执行make
至此codis安装完成
3.启动配置
cd $GOPATH/src/github.com/CodisLabs/codis/bin
先修改配置文件
cp ../config.ini .
顺便准备了config-proxy1.ini 和 config-proxy2.ini(注意修改里面的proxy-id)
修改这个文件的
zk=(这里填写自己的zk)
dashboard_addr=:18087 (自己的ip)
product=cyf-test
proxy_id=proxy_1

1)先启动 redis
cd $GOPATH/src/github.com/CodisLabs/codis/bin
cp ../extern/redis-2.8.21/redis.conf .
修改maxmemory 和 port
然后启动 ./codis-server redis.conf

2)然后启动dashboard
nohup ./codis-config -c config-proxy1.ini dashboard &

3)初始化slot
./codis-config -c config-proxy1.ini slot init
然后针对1024个slot分别分配个两个group(可以根据需求分配N个group)
./codis-config -c config-proxy1.ini server add 1 127.0.0.1:6379 master
./codis-config -c config-proxy1.ini server add 2 127.0.0.1:6380 master
./codis-config -c config-proxy1.ini slot range-set 0 511 1 online
./codis-config -c config-proxy1.ini slot range-set 512 1023 2 online

4)启动proxy
nohup ./codis-proxy -c config-proxy1.ini -L ./proxy.log --addr=<ip/host>:19000 --http-addr=<ip/host>:11000 &
nohup ./codis-proxy -c config-proxy2.ini -L ./proxy2.log --addr=<ip/host>:19001 --http-addr=<ip/host>:11001 &
文档说proxy启动后默认offline,实测已经是online了,并且客户端可以正常访问了
至此codis环境可以使用

« RTB性能测试总结 养鱼总结与反思 »