Codis部署与pipline写入出错的解决
Codis部署与pipline写入出错的解决
一、准备工作
软件
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
修改如下两项为服务器地址即可
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的记录,套路基本就是这样,细节处可能有遗漏