`
sohoku
  • 浏览: 9720 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

codis使用中的几个问题

阅读更多

项目中,因为是redis的重度用户,所以在redis上,扩容、意外、负载需要进行考虑,选型过程不必细说了,最终选了codis(https://github.com/wandoulabs/codis), 只说在安装codis过程中遇到了几个问题以及解决的方法:

1、无法下载

通过官方的文档,go get codis包下载不下来,直接下载zip包,解压,这个小问题

2、执行bootstrap.sh奇慢

看了下脚本,里面有一堆的go get相关包,后来修改了/usr/local/go/src/cmd/go/vcs.go,在git clone里面加上--process,显示出命令行执行慢在哪里,最后修 bootstrap.sh中慢的包路径,并去掉了coreos(不需要)

go get -u github.com/alicebob/miniredis
go get -u github.com/bsm/redeo
go get -u github.com/c4pt0r/cfg
go get -u github.com/codegangsta/inject
#go get -u github.com/codegangsta/martini
go get -u github.com/go-martini/martini
go get -u github.com/codegangsta/martini-contrib/binding
go get -u github.com/codegangsta/martini-contrib/render
#go get -u github.com/coreos/etcd/error
#go get -u github.com/coreos/etcd/tree/master/error
#go get -u github.com/coreos/go-etcd/etcd
go get -u github.com/docopt/docopt-go
go get -u github.com/garyburd/redigo/internal
go get -u github.com/garyburd/redigo/redis
go get -u github.com/go-martini/martini
go get -u github.com/juju/errors
go get -u github.com/martini-contrib/cors
go get -u github.com/ngaut/gostats
go get -u github.com/ngaut/log
go get -u github.com/ngaut/logging
go get -u github.com/ngaut/pools
go get -u github.com/ngaut/sync2
go get -u github.com/wandoulabs/go-zookeeper/zk
go get -u github.com/wandoulabs/zkhelper

3、启动dashboard却无法访问

这个问题困扰了很久,最终是到群里被人一语点通,原来是zookeeper需要rmr /zk/codis,不然codis启动会一直报address alread exitst

4、无法使proxy到online状态

这个是之前的redis分组只开启了一个group,而分配slot时,只分配了一个0~511到第一分组,加成2个组/或者0~1023应该都可以的,这里我使用了2个组,就可以了

 

1
1
分享到:
评论
1 楼 xuhui200820 2016-02-23  
github.com/wandoulabs/codis 我git下来后发现没有bootstrap.sh这个文件

相关推荐

    大牛总结codis-cluster集群部署实战手册

    集群部署的过程中,我们需要了解以下几个关键知识点: 1. **环境准备**:首先,确保硬件资源充足,包括服务器配置、网络环境等。 Codis需要运行在Linux系统上,因此需要熟悉Linux操作。 2. **安装依赖**:Codis...

    codis数据迁移性能优化

    针对上述问题,有几种常见的优化方法: - **异步迁移**:Codis 3.2版本引入了异步迁移机制,即数据可以在后台进行迁移,从而减少客户端的等待时间。例如: - `SLOTSMGRTONE` 变为 `SLOTSMGRTONE-ASYNC` - `...

    codis+lvs+keepalived

    Codis架构主要由以下几个核心组件构成: - Codis Proxy:作为一个中间层,负责处理客户端的请求,并将请求分发到对应的Codis Server。 - Codis Server:基于Redis实现,负责存储数据。在Codis集群中,可以有多个...

    Codis Design & Implementation.pdf

    Codis 的架构包含以下几个关键组件: - **Zookeeper**:作为分布式协调服务,提供分布式锁和路由器表管理,确保数据的一致性和高可用性。 - **Proxy**:无状态的代理服务器,负责转发客户端请求到相应的 Redis ...

    Codis的过去和未来.pptx

    Codis 是一个开源的分布式 Redis 解决方案,由淘宝在2014年推出,旨在解决随着业务发展而日益突出的 Redis 扩展性问题。在过去,重度 Redis 用户面临的主要挑战包括高缓存命中率的需求、数据量快速增长、独立 Redis ...

    pengbotao#itopic.go#Redis集群方案 - Codis1

    Github上给的架构图如下:几个关键组件说明:它实际就是个Redis的服务端,基于redis-server做了二次开发,增加额外的数据结构以便支持slot的相

    cpp-xcache是喜马拉雅内部使用的一套分布式缓存解决方案

    对于想要深入理解cpp-xcache的开发者,可以从以下几个方面入手: 1. **Pika和Codis源码分析**:研究两个开源项目的代码结构,理解其设计原理和实现细节。 2. **分布式缓存理论**:学习CAP理论、数据一致性模型以及...

    Redis核心原理与应用实践.docx

    Redis 的核心原理可以分为以下几个方面: 1. 数据结构:Redis 使用了多种数据结构,如字符串、链表、哈希表、集合、有序集合等,这些数据结构使得 Redis 能够高效地存储和处理大量数据。 2. 内存管理:Redis 使用了...

    Redis集群_实际使用自己整理的版本.docx

    本文将详细介绍几种常见的Redis集群方案,包括客户端分片、Twemproxy、Codis以及Redis 3.0集群。 #### 一、客户端分片 **概念**: 客户端分片是一种将分片逻辑置于客户端实现的策略。该方案通过客户端预先定义好的...

    tidb-manual-cn.pdf

    TiDB的整体架构主要由以下几个组件构成: - TiDB Server: 负责处理SQL请求,执行SQL解析和查询优化,生成分布式执行计划。 - PD Server (Placement Driver): 是整个TiDB集群的元数据管理和调度器,管理存储节点TiKV...

    50道Redis面试题及答案冲击百万年薪.docx

    Redis 相比 memcached,其优势主要体现在以下几个方面: 1. 数据类型丰富:Redis 支持字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)和哈希(Hashes)等多种数据结构,而 memcached 只支持简单的字符串...

    Redis面试专题1

    1. twemproxy:作为一个代理,它接受客户端的请求,使用一致性哈希将请求分发到多个 Redis 实例。优点是配置简单,但存在单点压力和数据迁移不便的问题。 2. Codis:与 twemproxy 类似,但 Codis 支持在节点数量变化...

    Redis 50 道面试题及答案.docx

    1、noeviction:返回错误当内存限制达到并且客户端尝试执行会让更多内存被使用的命令(大部分的写入指令,但 DEL 和几个例外);2、allkeys-lru:尝试回收最少使用的键(LRU),使得新添加的数据有空间存放;3、...

    Redis面试题(含答案).pdf

    * 在业务代码层实现:起几个毫无关联的 Redis 实例,在代码层,对 key 进行 hash 计算,然后去对应的 Redis 实例操作数据 11. Redis 集群方案什么情况下会导致整个集群不可用? Redis 集群方案在以下情况下会导致...

    分布式redis储存方式

    在Java开发中,使用分布式Redis可以有效解决单个Redis服务器在面对海量数据时可能出现的性能瓶颈问题。下面将详细介绍分布式Redis的几种常见储存方式以及它们在Java中的应用。 1. **主从复制** (Master-Slave ...

    JAVA架构面试_redis面试专题.pdf

    在内存不足时,Redis 提供了几种数据淘汰策略来应对,包括 noeviction(拒绝写入并返回错误)、LRU(最近最少使用)、random(随机淘汰)和基于过期时间的策略,以适应不同的应用场景。 由于 Redis 主要针对 Linux ...

Global site tag (gtag.js) - Google Analytics