安装go
首先按照golang,下载地址: https://golang.org/dl/,最新的1.4.2版本。
如果被墙使用golang中国下载: http://golangtc.com/download。
有mac版的apk,直接安装完事。
设置环境变量
打开终端,输入sudo su
,化身炒鸡管理员,输入下面命令。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/usr/local/codis
然后再输入下go env
.查看下打印的内容里面的GOPATH对不对。
下载codis,安装codis
cd /usr/local
go get -u -d github.com/wandoulabs/codis
cp -R /usr/local/codis/pkg/ /usr/local/codis/cmd/ /usr/local/codis/src/github.com/wandoulabs/codis
cd $GOPATH/src/github.com/wandoulabs/codis
sh bootstrap.sh
#然后顺着安装完的提示,运行下测试
make gotest
建议只通过go get命令来下载codis,除非你非常熟悉go语言的目录引用形式从而不会导致代码放错地方。该命令会下载master分支的最新版,我们会确保master分支的稳定。
当然你也可以去下载Release版本的,然后解压到$GOPATH/src/github.com/wandoulabs/codis
安装codis,需要下载依赖包。比较慢 然后就等一下,安装过程还是挺久了,大概有十多分钟,不要以为死机,然后取消。。。
执行全部指令后,会在$GOPATH/src/github.com/wandoulabs/codis/bin
文件夹生成 codis-config, codis-proxy 两个可执行文件, (另外, bin/assets 文件夹是 codis-config 的 dashboard http 服务需要的前端资源, 需要和 codis-config 放置在同一文件夹下)
-----------------
安装测试成功,就可以配置了。
编译后的二进制文件在/usr/local/codis/bin目录下面。
zookeeper
启动codis之前需要安装zookeeper。
下载地址:http://zookeeper.apache.org/releases.html#download
安装到目录/usr/local/zookeeper
mkdir /usr/local/zookeeper/logs
修改下配置文件
vi /usr/local/zookeeper/conf/zoo.cfg配置文件
修改连接的端口为2181
tickTime=2000
clientPort=2181
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
我的版本是3.4.6,在该目录下自带了zoo_sample.cfg的文件,已经把我们需要的写好,你偷懒也可以直接复制,然后改下名字的。
启动zookeeper
sh /usr/local/zookeeper/bin/zkServer.sh start
原因
启动Codis服务,之前必须启动zookeeper,为什么呢?
因为在上一段的codis-config 和 codis-proxy 在不加 -c 参数的时候,
默认会读取当前目录下的 config.ini 文件.关于该文件的配置,请点击这里
在这个文件的最前面的两行,标记了zk的地址是192.168.0.123
,端口为2181
, 具体内容如下
# zookeeper or etcd
coordinator=zookeeper
# Use comma "," for multiple instances. If you use etcd, you should also use this property.
zk=192.168.0.123:2181
如果不先启动,会一直显示连接不上的。如果你启动了也连接不上,那就改下地址为localhost
吧
启动
有的新版本没有这个目录。。。
那么请 跳过这个看下面的一步步手动的启动方式2吧。
sample目录有简单的集群配置。
startall.sh脚本会同时将redis启动。
# sh /usr/local/codis/sample/startall.sh
sleep 3s
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 2.8.13 (6e3095dc/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in stand alone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6381
| `-._ `._ / _.-' | PID: 1259
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-