codis + zookeeper集群搭建

服务器环境

4台机器下codis与zookeeper
wget https://codeload.github.com/CodisLabs/codis/zip/release3.2
wget –no-check-certificate https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
安装相关程序:
yum install git unzip autoconf -y

部署zookeeper,在后三台机器上
解压:
mkdir /opt/zookeeper && cd /opt/zookeeper && tar zxf /root/apache-zookeeper-3.8.0-bin.tar.gz
修改配置
cd /opt/zookeeper/apache-zookeeper-3.8.0-bin/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
没有修改其他配置,在最后面加上

添加标识文件
mkdir /tmp/zookeeper cd /tmp/zookeeper && touch myid
每个机器下的 myid 文件内容和 上面配置文件的 server.x 中x相对应。
172.17.117.141 下 echo 1 > myid ,以此类推。
启动三台的zk
sh /opt/zookeeper/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start
查看状态
sh /opt/zookeeper/apache-zookeeper-3.8.0-bin/bin/zkServer.sh status

两台follower,一台leader


部署codis
在4台机器上:
创建文件夹并解压
mkdir -p  /usr/local/go/src/github.com/CodisLabs && cd /usr/local/go/src/github.com/CodisLabs && mv ~/release3.2 . && unzip release3.2 && mv codis-release3.2 codis
进入文件夹后编译
cd codis && make
(后来发现太乱,决定移动到 /usr/local/codis/ )
mkdir -p /usr/local/codis/
复制/usr/local/go/src/github.com/CodisLabs/codis三个文件夹:
admin bin config

在172.17.117.140上:
在/usr/local/codis/config 下
vim dashboard.toml 
修改

启动dashboard
在/usr/local/codis/admin下
sh codis-dashboard-admin.sh restart
启动fe
在/usr/local/codis/bin下,使用screen或其他后台方式
./codis-fe –ncpu=4 –log=fe.log –log-level=WARN –zookeeper=172.17.117.141:2181,172.17.117.142:2181,172.17.117.143:2181 –listen=0.0.0.0:9090

在172.17.117.140-143上:
配置proxy:
在/usr/local/codis/config 下
vim proxy.toml

在/usr/local/codis/admin下
sh codis-proxy-admin.sh restart

配置codis-server
可以一台机器多个server,注意端口修改。
在/usr/local/codis/config下,复制多个配置文件
cp redis.conf redis6379.conf
cp redis.conf redis6380.conf
编辑配置文件
vim redis6380.conf
修改如下:
行61:注销bind 0.0.0.0
行80: protected-mode no
行84: port 6380
行150: pidfile /tmp/redis_6380.pid
行163: logfile “/tmp/redis_6380.log”
行480: requirepass xxxx (此处为我改为与proxy.toml下session_auth相同密码)
行537: maxmemory 4GB (根据大小修改)
其他3台配置文件同理
在/usr/local/codis/admin下
复制配置文件
cp codis-server-admin.sh codis-server-admin-6380.sh
vim codis-server-admin-6380.sh

区分不同端口的文件.

启动
sh codis-server-admin-6380.sh restart
访问
http://172.17.117.140:9090