一、准备工作

    软件

    zookeeper-3.4.6.tar.gz

    go1.6.3.linux-amd64.tar.gz

    创建目录

    mkdir -pv /usr/local/gopkg

    基础依赖

    yum install -y git gcc make g++ gcc-c++ automake openssl-devel zlib-*

    JDK


二、应用部署

1、zookeeper  &  go

go解压后配置环境变量即可;

zookeeper解压后配置环境变量,还需复制标准配置文件,然后修改并创建其data目录;

 操作步骤如下:

tar zxvf zookeeper-3.4.6.tar.gz -C /usr/local/
tar zxvf  go1.6.3.linux-amd64.tar.gz  -C /usr/local/
vim /etc/profile

#追加

export PATH=$PATH:/usr/local/go/bin

export GOROOT=/usr/local/go

export GOPATH=/usr/local/gopkg

export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6

export PATH=$GOROOT/bin:$PATH:$GOPATH/bin:$ZOOKEEPER_HOME/bin

source /etc/profile
cd /usr/local/zookeeper-3.4.6/conf
cp zoo_sample.cfg  zoo.cfg
vim zoo.cfg
dataDir=/usr/local/zookeeper-3.4.6/data
mkdir -pv /usr/local/zookeeper-3.4.6/data
/usr/local/zookeeper-3.4.6/bin/zkServer.sh  start


 2、Codis

go get -u -d github.com/CodisLabs/codis
cd gopkg/src/github.com/CodisLabs/codis/
make
vim config.ini

修改如下两项为服务器地址即可

Codis部署与pipline写入出错的解决_第1张图片

cd /usr/local/gopkg/src/github.com/CodisLabs/codis
bin/codis-config dashboard &
bin/codis-config slot init

此时浏览器访问 http://IP:18087

codis-proxy启动命令

nohup bin/codis-proxy -c config.ini -L ./log/proxy.log --log-level=debug --cpu=2 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000 &


三、补充说明

1、启动顺序

     zookeeper-->codis dashboard-->codis-proxy

即如下操作:

/usr/local/zookeeper-3.4.6/bin/zkServer.sh  start
cd /usr/local/gopkg/src/github.com/CodisLabs/codis
bin/codis-config dashboard &     
nohup bin/codis-proxy -c config.ini -L ./log/proxy.log --log-level=debug --cpu=2 --addr=0.0.0.0:19000 --http-addr=0.0.0.0:11000 &

2、关于pipeline方式time out的解决

    开发通过pipeline方式一次性写入8w key的时候报错,经目前查找发现应该和codis-proxy代理的缓冲及zookeeper server端连接超时有关,目前修改配置如下

    codis配置文件  config.ini

session_max_pipeline=80000

zookeeper配置文件  zoo.cfg

tickTime=2000000


这是以前部署Codis的记录,套路基本就是这样,细节处可能有遗漏