Codis3.1安装文档

一、基本信息

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 按钮来做,如下图所示,点击此按钮,我们即快速完成了一个集群的搭建。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • Codis 3.2 部署配置汇总 概念总结 集群配置前需要了解架构,集群分片主要分三种: 客户端分片:这个需要自己...
    三杯水Plus阅读 5,982评论 0 11
  • from http://www.infoq.com/cn/articles/etcd-interpretation...
    小树苗苗阅读 13,940评论 3 38
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 1、简介 redis是目前使用广泛的中间件,从3.0版本开始官方支持了redis cluster。理解codis ...
    armo要多读书阅读 2,112评论 0 2
  • 上一篇文章:十分钟全面理解Spring AOP 介绍了什么是AOP以及Spring AOP的使用。本篇将揭秘Spr...
    FX_SKY阅读 4,803评论 0 5