Codis3.1安装文档

有没有搞错_531a · · 1084 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一、基本信息

1、Codis集群架构


image

2、环境信息

操作系统:macos 10.12.3

codis版本:3.1

go语言版本:1.8.1

etcd版本:3.2.0-rc.0

二、部署Codis

1、安装go

下载地址:https://golang.org/dl

Mac:
选择go1.8.1.darwin-amd64.pkg下载并安装

Windows:
选择go1.8.1.windows-amd64.msi下载并安装

Linux:
选择go1.8.1.linux-386.tar.gz或者go1.8.1.linux-amd64.tar.gz下载(根据操作系统位数选择下载对应的版本)
解压到/usr/local路径,并设置环境变量

//解压到/usr/local路径
tar -C /usr/local/ -xzf go1.8.1.linux-amd64.tar.gz
#设置环境变量
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=/usr/local/gopath

2、安装godep

go env GOPATH $GOPATH
go get -u github.com/tools/godep && which godep $GOPATH/bin/godep

3、安装etcd

mkdir -p $GOPATH/src/github.com/coreos
cd $GOPATH/src/github.com/coreos
git clone https://github.com/coreos/etcd.git
cd etcd
./build
#设置环境变量
export PATH=$PATH:$GOPATH/src/github.com/coreos/etcd/bin

4、安装codis

#下载Codis源代码
mkdir -p $GOPATH/src/github.com/CodisLabs
cd $_ && git clone https://github.com/CodisLabs/codis.git -b release3.1
#编译Codis源代码
cd $GOPATH/src/github.com/CodisLabs/codis
make

5、启动codis服务

注意:以下命令需要指定配置文件和log路径,我已经配置好了,下载配置文件,具体配置文件说明请看官方文档

1. 启动etcd

#启动的端口为2379
etcd --listen-client-urls 'http://0.0.0.0:2379' --advertise-client-urls 'http://0.0.0.0:2379' &

说明:为集群状态提供外部存储

2. 启动codis-dashboard

./bin/codis-dashboard --config=conf/dashboard-18080.toml --log=conf/dashboard-18080.log --log-level=WARN &

说明:集群管理工具,支持codis-proxy、codis-server 的添加、删除,以及据迁移等操作
参数说明:--config 指定配置文件路径 --log 指定日志文件路径

配置文件说明:

参数 说明 例子
coordinator_name 外部存储类型,接受 zookeeper/etcd "etcd"
coordinator_addr 外部存储地址 "127.0.0.1:2379"
product_name 集群名称,满足正则 \w[\w\.\-]* "demo-test"
product_auth 集群密码,默认为空 "123"
admin_addr RESTful API 端口 "0.0.0.0:18080"

3. 启动codis-fe

./bin/codis-fe --log=conf/fe.log --log-level=WARN --etcd=127.0.0.1:2379 --listen=0.0.0.0:8080 &

说明:集群管理界面
参数说明:--log 指定日志文件路径 --etcd 指定外部存储地址 --listen 指定管理界面访问地址

4. 启动codis-server

./bin/codis-server --include conf/redis-16379.conf &
./bin/codis-server --include conf/redis-17379.conf &

说明:基于 redis-3.2.8 分支开发
参数说明:--include 指定配置文件路径

配置文件说明:

参数 说明 例子
port 监听端口 "16379"
save db文件保存路径,为空则是codis主目录 ""
dbfilename db文件名 "16379.rdb"
requirepass 登录密码 "123"

5. 启动codis-proxy

./bin/codis-proxy --config=conf/proxy-19000.toml --log=conf/proxy-19000.log --etcd 127.0.0.1:2379 --log-level=WARN &

说明:客户端连接的 Redis 代理服务, 实现了 Redis 协议。 除部分命令不支持以外(不支持的命令列表),表现的和原生的 Redis 没有区别
参数说明:--config 指定配置文件路径 --log 指定日志文件路径 --etcd 指定外部存储地址

配置文件说明:

参数 说明 例子
product_name 集群名称,参考 dashboard 参数说明 demo-test
product_auth 集群密码,默认为空 123
proto_type Redis 端口类型,接受 tcp/tcp4/tcp6/unix/unixpacket tcp4
admin_addr RESTful API 端口 0.0.0.0:11080
proxy_addr Redis 端口地址或者路径 0.0.0.0:19000
proxy_datacenter 数据中心地址,codis-server需要指定的地址 localhost

6、高可用(HA)服务

说明:二选一,也可不选,该工具会在检测到 master 挂掉的时候主动应用主从切换策略,提升单个 slave 成为新的 master

1. 启动codis-ha(可选组件)

./bin/codis-ha --log=conf/ha.log --log-level=WARN --dashboard=127.0.0.1:18080 &

说明:codis自带的主从切换工具
参数说明:--log 指定日志文件路径 --dashboard 指定针对哪个dashboard服务

2. 启动codis-sentinel(可选组件)

./bin/codis-server conf/sentinel-26379.conf --sentinel &
./bin/codis-server conf/sentinel-26380.conf --sentinel &
./bin/codis-server conf/sentinel-26381.conf --sentinel &

说明:具体的切换机制请参考Redis Sentinel机制与用法
参数说明:--sentinel 以哨兵模式启动

三、Codis管理界面

浏览器访问http://127.0.0.1:8080打开管理界面

1、添加组


image

2、添加Redis服务器


image

3、添加哨兵


image

4、初始化Slots


image

说明:新增的集群 slot 状态是 offline,因此我们需要对它进行初始化(将 1024 个 slot 分配到各个 group),而初始化最快的方法可通过 fe 提供的 rebalance all slots 按钮来做,如下图所示,点击此按钮,我们即快速完成了一个集群的搭建。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:有没有搞错_531a

查看原文:Codis3.1安装文档

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1084 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传