Codis集群配置维护文档_第1页
Codis集群配置维护文档_第2页
Codis集群配置维护文档_第3页
Codis集群配置维护文档_第4页
Codis集群配置维护文档_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Codis集群配置维护文档介绍Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.Codis 由四部分组成:Codis Proxy   (codis-proxy)codis-proxy 是客户端连接的 Redis 代理服务, co

2、dis-proxy 本身实现了 Redis 协议, 表现得和一个原生的 Redis 没什么区别 (就像 Twemproxy), 对于一个业务来说, 可以部署多个 codis-proxy, codis-proxy 本身是无状态的.Codis Manager (codis-config)codis-config 是 Codis 的管理工具, 支持包括, 添加/删除 Redis 节点, 添加/删除 Proxy 节点, 发起数据迁移等操作. codis-config 本身还自带了一个 http server, 会启动一个 dashboard, 用户可以直接在浏览器上观察 Codis 集群的运行状态.C

3、odis Redis   (codis-server)codis-server 是 Codis 项目维护的一个 Redis 分支, 基于 2.8.13 开发, 加入了 slot 的支持和原子的数据迁移指令. Codis 上层的 codis-proxy 和 codis-config 只能和这个版本的 Redis 交互才能正常运行.ZooKeeperCodis 依赖 ZooKeeper 来存放数据路由表和 codis-proxy 节点的元信息, codis-config 发起的命令都会通过 ZooKeeper 同步到各个存活的 codis-proxy.Codis 支持按照 Namespa

4、ce 区分不同的产品, 拥有不同的 product name 的产品, 各项配置都不会冲突.特性:自动平衡使用非常简单图形化的面板和管理工具支持绝大多数 Redis 命令,完全兼容 twemproxy支持 Redis 原生客户端安全而且透明的数据移植,可根据需要轻松添加和删除节点提供命令行接口RESTful APIs文档修订记录文档版本修改日期维护人修改内容1.020150818王旭初次建立目录一.安装41.首次安装4(1)安装依赖4(2)配置GO环境变量4(3)下载源码4(4)安装42.安装启动Zookeeper43.安装codis4(1)配置codis目录4(2)建立redis配置文件4(

5、3)启动codis实例4(5)启动codis dashboard6(6)建立codis group7(7)加入redis实例7(8)初始化Solt7(9)配置组使用slot范围8(10)检查codis状态8(11)启动proxy84.UI使用说明8(1).实时数据统计8(2).组及集群成员操作8(3).slot及数据操作9一. 安装1. 首次安装(1) 安装依赖yum install mercurial git gcc go(2) 配置GO环境变量export GOPATH=/usr/codis/(3) 下载源码go get (4) 安装sh /usr/codis/src/2. 安装启动Zoo

6、keeperwget tar zxvf zookeeper-3.4.6.tar.gzyum install java -ymv zookeeper-3.4.5 /usr/local/zookeepermv /usr/local/zk/conf/zoo_sample.cfg /usr/local/zk/conf/zoo.cfgecho -e "export ZOOKEEPER=/usr/local/zk nexport PATH=$ZOOKEEPER/bin:$PATH" >> /etc/profile && source /etc/profile

7、zkServer.sh start3. 安装codis(1) 配置codis目录wget tar zxvf codis.tar.gz -C /usr/local/mkdir p /usr/local/codis/logs(2) 建立redis配置文件wget tar zxvf redis_conf.tar.gz -C /etc/codis/(3) 启动codis实例/usr/local/codis/bin/codis-server /etc/codis/redis_6379.conf/usr/local/codis/bin/codis-server /etc/codis/redis_6389.

8、conf/usr/local/codis/bin/codis-server /etc/codis/redis_6399.conf/usr/local/codis/bin/codis-server /etc/codis/redis_6489.conf说明:这里codis-server启动的实例与直接用redis启动完全一样.版本为2.8.21一个实例占用4G内存.(4) codis-config命令详解/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini helpusage: codis-config -c <co

9、nfig_file> -L <log_file> -log-level=<loglevel> <command> <args>.options: -c set config file -L set output log file, default is stdout -log-level=<loglevel> set log level: info, warn, error, debug default: infocommands: server slot dashboard action proxyu server/usr/l

10、ocal/codis/bin/codis-config -c /usr/local/codis/config.ini server helpcodis-config server list#查看当前集群中组,redis实例的列表codis-config server add <group_id> <redis_addr> <role>#把一个实例添加到集群的某个组中,并指明主/从,一个组中只能一个主.codis-config server remove <group_id> <redis_addr>#把一个实例从集群的某个组中删除.c

11、odis-config server promote <group_id> <redis_addr>#把某个实例在某个组中提升为主codis-config server add-group <group_id>#新建组codis-config server remove-group <group_id>#删除组u slot/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini slot helpusage:codis-config slot init -f#初始化soltc

12、odis-config slot info <slot_id>#查看指定slot内的信息codis-config slot set <slot_id> <group_id> <status>#设置某个组使用某个slot#status为online/offlinecodis-config slot range-set <slot_from> <slot_to> <group_id> <status>#设置某个组使用某个范围的slot#status为online/offlinecodis-config

13、slot migrate <slot_from> <slot_to> <group_id> -delay=<delay_time_in_ms>#迁移slot数据#delay为延迟多少毫秒codis-config slot rebalance -delay=<delay_time_in_ms>#同步所有在线状态的slot数据注:所有的server操作需要启动dashboard后才能执行.u dashboard/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini

14、dashboard按配置文件内容启动dashboard.codis自带一个httpserver,可以启动UI界面,基本所有操作均可在UI上完成.u actionu porxy/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini proxy helpusage:codis-config proxy list#查看当前代理列表codis-config proxy offline <proxy_name>#设置某个代理为offlinecodis-config proxy online <proxy_name

15、>#设置某个代理为online(5) 启动codis dashboard/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini dashboard成功启动后可以通过 http:/<IP>:18087 访问dashboard,下面是一个建立好:(6) 建立codis group/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini server add-group 1说明:建立一个编号为1的组(7) 加入redis实例/usr/lo

16、cal/codis/bin/codis-config -c /usr/local/codis/config.ini server add 1 localhost:6379 master/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini server add 1 localhost:6389 slave/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini server add 1 localhost:6399 slave/usr/local/c

17、odis/bin/codis-config -c /usr/local/codis/config.ini server add 1 localhost:6499 slave说明:把四个本地(也可远程)redis 加入到编号为1的组内(8) 初始化Solt/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini slot init说明:初始化slot,默认codis最多使用1024个slot.(9) 配置组使用slot范围/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini slot range-set 0 255 1 online(10) 检查codis状态/usr/local/codis/bin/codis-config -c /usr/local/codis/config.ini server info(11) 启动proxy/usr/local/codis/bin/codis-proxy -c /usr/local/codis/config.ini -cpu=4 -L /usr/local/codis/logs/proxy.log -addr=0.0.0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论