redis集群配置讲述.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
redis集群配置讲述

Redis 集群简介 Redis集群简介: Redis集群是一个可以在多个 Redis 节点之间进行数据共享的设施。 Redis 集群通过分区来提供一定程度的可用性:即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。 Redis 集群提供了以下两个好处: (1、)将数据自动切分(split)到多个节点的能力。 (2、)当集群中的一部分节点失效或者无法进行通讯时, 仍然可以继续处理命令请求的能力。 2、集群的数据分片功能: Redis 集群没有使用一致性hash, 而是引入了哈希槽的概念。 Redis 集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽.集群的每个节点负责一部分hash槽。这种结构很容易添加或者删除节点,并且无论是添加删除或者修改某一个节点,都不会造成集群不可用的状态。 3、Redis集群的主从架构: 为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用,所以集群使用了主从复制模型,每个节点都会有N-1个复制品。 eg:如有A,B,C三个节点的集群,在没有复制模型的情况下,如果节点B失败了,那么整个集群就会以为缺少B节点所承担的哈希槽这个范围的槽而不可用。 然而如果在集群创建的时候(或者过一段时间)我们为每个节点添加一个从节点A1,B1,C1,那么整个集群便有三个master节点和三个slave节点组成,这样在节点B失败后,集群便会选举B1为新的主节点继续服务,整个集群便不会因为槽找不到而不可用了。当然如果B和B1都down了,那集群还是不可用的。 redis集群安装与配置 1、redis集群安装 1.1 redis安装 搭建前的准备工作 Redis集群是Redis3.0新加入的功能,其在源码的src目录下有自带的集群搭建工具---redis-trib; 它是一个rb为后缀的文件,需要依赖ruby程序才能正常运行,在我们OWL的环境一般需要安装rubygems,需要下载下来后执行ruby setup.rb即可安装成功,再执行gem install redis后,即可正常使用redis-trib程序。 redis-trib程序可以完成创建新集群,检查集群和对集群进行重新分片的功能。 注:如安装时提示no such file to load -- rdoc/rdoc (LoadError),可打开 ~/.gemrc 在最后加入 gem: --no-ri --no-rdoc.保存后再运行gem install ruby,ruby setup.rb和gem install redis即可。 安装依赖 yum install ?gcc ?tcl yum install -y?ruby?ruby-devel?rubygems?rpm-build? 下载安装包 wget http://download.redis.io/releases/redis-3.0.5.tar.gz 编译安装 tar -zxvf redis-3.0.5.tar.gz cd redis-3.0.5 make MALLOC=libc make test --》测试redis是否编译正确 make install --》将src/文件夹下的执行文件copy到/usr/local/bin目录 集群依赖 gem install ?redis 集群正常运作至少需要三个主节点,建议每个主节点至少有一个从节点,主从节点分开部署在不同机器上,每台机器可启动多个redis。 mkdir cluster-test cd cluster-test mkdir 7000 7001 修改配置文件redis.conf(redis-3.0.5目录下有样例)放到对应路径下?? port?7000? daemonize ? yes? logfile redis-server7000.log dbfilename 数据库名称 dir ? ? 数据库存放目录 appendonly ? yes 启动时优先加载日志记录 appendfilename?appendonly7000.aof cluster-enabled ? yes?? cluster-config-file?nodes7000.conf 同一台机器上名称不能相同 cluster-node-timeout?5000? -----------------------------------配置 daemonize yes port 7000 bind 5 loglevel notice logfile /opt/cluster/logs/redis-server7000.log dbfilename du

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档