开发者社区> wangwenan> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

redis-cluster搭建&初步体验

简介: 环境:     RedHat6---Linux 2.6.32-279.el6.x86_64    redis-3.0.3 目的:     看看除了codis以外的集群方案怎么样,官方版本应该会一直维护,redis-cluster的介绍参考官方文档http://redis.
+关注继续查看
环境:
    RedHat6---Linux 2.6.32-279.el6.x86_64
    redis-3.0.3

目的:
    看看除了codis以外的集群方案怎么样,官方版本应该会一直维护,redis-cluster的介绍参考官方文档http://redis.io/topics/cluster-spec

前期准备:
    创建cluster需要rubygems,这里一起放上RH6需要的rpm包名,如果能直接yum安装自然是最方便
    openssl-1.0.1e-30.el6.x86_64
    ruby-1.8.7.374-4.el6_6.x86_64
    ruby-libs-1.8.7.374-4.el6_6.x86_64
    ruby-rdoc-1.8.7.374-4.el6_6.x86_64
    ruby-irb-1.8.7.374-4.el6_6.x86_64
    rubygems-1.3.7-5.el6.noarch
    rpm包安装好以后,一定要记得执行命令:gem install redis

搭建过程:

1.安装redis-3.0.3
    redis的官网下载即可,使用tar zxvf命令解压,然后make && make install就ok了

2.修改redis.conf文件
    需要修改的内容如下   

    port 7000

    cluster-enabled yes

    cluster-config-file nodes.conf

    cluster-node-timeout 5000

    appendonly yes

    (个人建议顺便改了)pidfile /var/run/redis-7000.pid

3.创建至少六个redis实例
   方法一:把redis.conf拷贝成redis7000.conf ~ redis7005.conf,修改端口号(和pid文件路径)
   方法二:拷贝redis目录为redis-3.0.3-7000 ~ redis-3.0.3-7005,修改端口号(和pid文件路径)(测试用的这种方式)

4.分别启动六个redis实例
   特别需要注意,在redis-3.0.3这个版本,如果只是启动redis-server而不带上配置文件,则会按照内置配置启动,不会去读目录下的redis.conf的内容
   nohup ./src/redis-server ./redis.conf &

5.使用ruby脚本创建cluster
   命令:./src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
   PS:./src/redis-trib.rb help 可以看到命令的介绍;create就是创建cluster,--replicas 1代表每个cluster的Master至少包含一个slave,后面跟上加入到cluster的redis实例
   如果没有问题,会有如下输出,中间输入一下yes


使用redis-cli登录到任意一个redis实例都可以看到cluster的信息,最前面是NodeID,然后是IP:PORT,M/S,0-5460是slot的范围,其他的暂时没有太仔细研究,

尝试一下shutdown端口为7005的slave实例,看看nodes的信息,7005已经被标记为fail


那么再试试启动这个实例


重新启动的实例再次进入了cluster,那么试试shutdown端口为7001的Master实例,发现新的7004被选举为Master,重启以后,7001以slave的身份加入cluster


那么问题来了,cluster启动是没问题,但是那个ruby脚本并没有提供关闭集群的方法,仔细观察help的话,可以发现脚本提供了add和del的方式来调整集群,在正常情况下应该是能满足使用了

如果要关闭cluster,最简单粗暴的办法就是关闭所有实例,不过这些实例启动之后,cluster的信息还在,启动以后又会自动加入cluster

假设有新需求需要重新配置cluster,但是又不想用add和del的方式,怎么办?

在redis-cli内使用cluster reset命令,就能清除某个redis实例保存的cluster信息了~之后就可以随意修改了~

---------------------------------------------------------------------------------------------华丽的分割线-------------------------------------------------------------------------------------------------------------

个人翻译和理解
简单的写一点redis-cluster官方文档里面的一些重点:
1.redis-cluster会丢失数据,指的是当某一个Master进行操作的时候,Master会主动扩散这个write操作,然而当Master本身完成了write,但是在扩散write操作之前就挂了,且Node-TimeOut的时间之内没有恢复,那么这个write操作就丢了。
2.redis-cluster的failover会在1-2秒内完成Master选举和标记fail实例,但是这是在经过Node-TimeOut的时间,判断为fail之后,即redis-cluster的failover消耗的时间实际上为Node-TimeOut+(1-2秒
3.其他的没什么明显的印象,再研究研究

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
非常适合新手的redis cluster搭建过程
以下就是Redis Cluster科普级别的知识, 帮助大家快速全面了解Redis Cluster特性, 快速搭建Redis Cluster。 好记性不如烂笔头,倒腾一次,记录一次。
0 0
Redis Cluster搭建过程
一、在线安装: 将以下shell保存至脚本文件redis-install.sh #!/bin/bash for ((i=83;i /sys/kernel/mm/transparent_hugepage/enabled # 打开/etc/sysctl.
1309 0
Redis Cluster(集群)的搭建
Redis Cluster(集群)的搭建 一、Redis的下载、安装、启动(单实例) 我们统一将Redis安装在/opt目录下,执行命令如下: $ cd /opt $ wget http://download.
1645 0
redis cluster搭建
从redis官网看最新稳定版本已经更新到3.2.6了,我这里补充一篇以前3.2.0的集群配置。说明: redis从3.0版本以后开始支持cluster模式,原理和功能大家可以上网查,对于运维人员来说最重要的去掉了代理层、避免出现单点故障,但是redis cluster至少需要三个主节点和三个从节点。
859 0
Redis Cluster 搭建手册
1 下载最新版redis wget 'http://download.redis.io/releases/redis-3.2.3.tar.gz' 2  编译安装 #安装到/opt/redis-cluster目录 tar zxvf redis-3.2.3.tar.gz cd redi
2873 0
redis之(十七)自己实现redis的cluster集群环境的搭建
[一]创建不同节点的配置文件和目录。并将配置文件中的port,cluster-enable,daemonize项做修改。 --->port:修改成redis实例对应的端口号 --->cluster-config-file:都写“yes”值,说明当前节点支持cluster机群。
1355 0
Centos7 安装Docker,常用命令,设置国内阿里云镜像,并且在docker中安装MySQL、Redis
Centos7 安装Docker,常用命令,设置国内阿里云镜像,并且在docker中安装MySQL、Redis
0 0
Redis分布式缓存学习篇一之安装篇
Redis分布式缓存学习篇一之安装篇
0 0
Docker:第四章:docker配置阿里云镜像加速并且安装mysql以及安装redis和安装ES
Docker:第四章:docker配置阿里云镜像加速并且安装mysql以及安装redis和安装ES
0 0
+关注
wangwenan
MySQL DBA
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Redis Cluster的基本原理
立即下载
Redis生态
立即下载
Redis交流
立即下载