Codis3.2安装及使用指南

版权声明:文章由史东旭原创,转载请注明出处,谢谢! https://blog.csdn.net/Dr_Franks/article/details/83821320


1. 基础环境搭建

1.1 安装依赖

yum install autoconf automake libtool -y
yum install -y gcc glibc gcc-c++ make git

1.2 安装Jdk1.8

  1. 下载jdk-8u152-linux-x64.tar.gz,上传jdk到/opt文件夹;
  2. 解压jdk到当前文件夹;
tar -zxf jdk-8u152-linux-x64.tar.gz
  1. 在/etc/profile文件末尾加上以下代码;
JAVA_HOME=/opt/jdk1.8.0_152
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
  1. 重新加载/etc/profile;
source /etc/profile
  1. 检测是否安装成功;
java -version

1.3 安装go1.9.2

  1. 下载go1.9.2.linux-amd64.tar.gz,上传go到/opt文件夹;
  2. 解压go到当前文件夹;
tar -zxf go1.9.2.linux-amd64.tar.gz
  1. 在/etc/profile文件末尾加上以下代码;
GOROOT=/opt/go
GOPATH=/opt/gopath
PATH=$PATH:$GOROOT/bin
export PATH GOROOT GOPATH
  1. 重新加载/etc/profile;
source /etc/profile
  1. 检测是否安装成功;
go version

1.4 安装zookeeper[单机]

  1. 下载zookeeper-3.4.6.tar.gz,上传go到/opt文件夹;
  2. 解压到当前文件夹;
tar -zxf zookeeper-3.4.6.tar.gz
  1. 启动zookeeper【默认端口2181】;
cd /opt/zookeeper-3.4.6
./bin/zkServer.sh conf/zoo.cfg

2. 安装codis3.2

2.1 下载codis3.2源码

mkdir -p $GOPATH/src/github.com/CodisLabs
cd $GOPATH/src/github.com/CodisLabs
git clone https://github.com/CodisLabs/codis.git -b release3.2

2.2 编译codis3.2

cd $GOPATH/src/github.com/CodisLabs/codis
make
make gotest

3 启动coids

3.1 启动dashboard

dashboard 是仪表盘,可以把其他服务绑定到监控仪表盘来进行服务管理及监控。

  1. 编辑配置文件$GOPATH/src/github.com/CodisLabs/codis/config/dashboard.toml
coordinator_name = "zookeeper"
coordinator_addr = "127.0.0.1:2181"
product_name = "codis-demo"
product_auth = ""
admin_addr = "0.0.0.0:18080"
  1. 启动[CPU核心数可以指定,按需配置]
cd $GOPATH/src/github.com/CodisLabs/codis
mkdir log
nohup ./bin/codis-dashboard --ncpu=1 --config=config/dashboard.toml --log=log/dashboard.log --log->level=WARN &

3.2 启动proxy

proxy是对外提供redis服务的入口。

  1. 编辑配置文件$GOPATH/src/github.com/CodisLabs/codis/config/proxy.toml
jodis_name = "zookeeper"
jodis_addr = "127.0.0.1:2181"
product_name = "codis-demo"
product_auth = ""
admin_addr = "0.0.0.0:11080"
proto_type = "tcp4"
proxy_addr = "0.0.0.0:19000"
  1. 启动[CPU核心数可以指定,按需配置]
cd $GOPATH/src/github.com/CodisLabs/codis
nohup ./bin/codis-proxy --ncpu=2 --config=config/proxy.toml --log=log/proxy.log --log-level=WARN &
  1. 关联proxy到dashboard
    有两种方式:
    3.1 命令行配置
cd $GOPATH/src/github.com/CodisLabs/codis
./bin/codis-admin --dashboard=100.100.10.85:18080 --create-proxy -x 100.100.10.85:11080

3.2 界面配置
在这里插入图片描述

3.3 启动redis

注意:不可使用原生redis

  1. 创建4个redis配置文件;
cd $GOPATH/src/github.com/CodisLabs/codis
mkdir redis
mkdir -pv redis/redis_638{1..4}
cp config/redis.conf redis/redis_6381/
cp config/redis.conf redis/redis_6382/
cp config/redis.conf redis/redis_6383/
cp config/redis.conf redis/redis_6384/
  1. 配置redis配置文件[逐个配置]
pidfile "/opt/gopath/src/github.com/CodisLabs/codis/redis/redis_6381/redis_6381.pid"
daemonize yes
protected-mode no
port 6381
dbfilename "dump_6381.rdb"
dir "/opt/gopath/src/github.com/CodisLabs/codis/redis/redis_6381"
logfile "/opt/gopath/src/github.com/CodisLabs/codis/redis/redis_6381/redis_6381.log"
maxmemory 1953125kb
  1. 启动redis
cd $GOPATH/src/github.com/CodisLabs/codis
./bin/codis-server redis/redis_6381/redis.conf
./bin/codis-server redis/redis_6382/redis.conf
./bin/codis-server redis/redis_6383/redis.conf
./bin/codis-server redis/redis_6384/redis.conf

3.4 codis-ha

ha用来监控redis主从,在主挂了以后自动切换到从;

nohup ./bin/codis-ha --interval=5  --dashboard=127.0.0.1:18080 --log=log/ha.log --log-level=WARN &

3.5 启动codis-fe

[页面管理工具][CPU核心数可以指定,按需配置]

cd $GOPATH/src/github.com/CodisLabs/codis
nohup ./bin/codis-fe --ncpu=1 --log=log/fe.log --log-level=WARN --zookeeper=127.0.0.1:2181 -->listen=0.0.0.0:80 & 

4. 使用codis

4.1 使用redis客户端连接coids

codis-proxy 对外提供redis服务,直接使用redis client链接codis-proxy即可,但是部分命令不能使用;

./src/redis-cli -h x.x.x.x -p 19000

4.2 页面管理coids

页面访问 x.x.x.x:80/#codis-demo

4.2.1 group 与 server 管理

在这里插入图片描述

4.2.2 slot 管理

在这里插入图片描述

4.2.3 proxy 管理

在这里插入图片描述

5. 集群环境搭建

5.1 zookeeper集群

zookeeper集群搭建不再详述,如果使用zookeeper集群,config/dashboard.toml , config/proxy.toml 中关于zookeeper的配置从单点变为集群即可

dashboard.toml

coordinator_name = "zookeeper"
coordinator_addr = "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"

proxy.toml

jodis_name = "zookeeper"
jodis_addr = "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"

5.2 codis集群

多台服务器构建一个codis集群,所有服务器都需要安装codis环境;按照上述步骤在每台服务器上安装codis即可。
需要注意的是:

  • 不需要/不可以启动多个节点的服务的说明
    • codis-dashboard 具有唯一性,不需要集群,启动一个实例即可;
    • codis-fe启动一个实例即可;
    • codis-ha启动一个实例即可;
  • 可以启动多个节点的服务的说明
    • codis-proxy可以启动多个节点,需要与dashboard进行关联;
    • codis-redis可以启动多个节点,启动后在页面配置即可;

5.2.1 proxy 集群

按照上述启动步骤,启动多个proxy后,在页面或者命令行将proxy绑定到dashboard即可使用;
在配置上,所有proxy仅注册到同一个zookeeper,即可使用;
每一个proxy单独对外提供服务,推荐在多个proxy前面提供ha服务进行负载均衡;

5.2.2 codis-redis集群

按照上述启动步骤,启动多个redis后,在页面配置redis具体的分布;

6. 注意事项

  • codis-ha 开启状态下,codis无法添加新的节点;
  • codis 不支持的命令
    KEYS, MOVE, OBJECT, RENAME, RENAMENX, SORT, SCAN, BITOP,MSETNX, BLPOP, BRPOP, BRPOPLPUSH, PSUBSCRIBE,PUBLISH, PUNSUBSCRIBE, SUBSCRIBE, UNSUBSCRIBE, DISCARD, EXEC, MULTI, UNWATCH, WATCH, SCRIPT EXISTS, SCRIPT FLUSH, SCRIPT KILL, SCRIPT LOAD, AUTH, ECHO, SELECT, BGREWRITEAOF, BGSAVE, CLIENT KILL, CLIENT LIST, CONFIG GET, CONFIG SET, CONFIG RESETSTAT, DBSIZE, DEBUG OBJECT, DEBUG SEGFAULT, FLUSHALL, FLUSHDB, INFO, LASTSAVE, MONITOR, SAVE, SHUTDOWN, SLAVEOF, SLOWLOG, SYNC, TIME

7. 参考资料

https://www.cnblogs.com/reblue520/p/6874925.html

猜你喜欢

转载自blog.csdn.net/Dr_Franks/article/details/83821320