前记:redis哨兵经验之谈。哨兵做主从切换可能要花费一两秒,这一两秒可能会丢失很多数据。解决方法之一是在java代码中做控制,try catch 到 链接断开的异常就sleep 一两秒钟再continue一下,重新执行一下try中的代码;另一种解决方法就是keepalive。所以说redis 3.0 之前的版本不太好用,我们应该把重点放到redis 3.0以后的版本 ,这一版本支持集群操作。

  在redis3.0以前,提供了Sentinel工具来监控各Master状态,如果master异常,则会做主从切换,将slave作为master,将master作为slave。其配置已稍微复杂一点,并且在各方面表现一般。在redis3.0已经支持集群的容错功能,并且非常简单。

  集群搭建:至少要三个master

第一步:创建一个文件夹reids-cluster,然后在其下面分别创建6个文件夹如下

  1. mkdir -p /user/local/reids-cluster
  2. mkdir 7001 7002 7003 7004 7005 7006

  正常来讲需要6台机器,我们在做练习的时候就开一台机器然后配置6个目录当做6个节点

第二步:把之前的redis.conf 配置文件分别copy到700*下,再修改各个文件内容

  1. daemonize yes
  2. port 700* (分别对每个机器的端口号进行设置)
  3. bind 192.168.1.16(必须要绑定当前机器的ip,不然会杯具)
  4. dir /usr/local/redis-cluster/700*/ (指定数据文件存放位置,必须要指定不同目录位置,不然会丢失数据)
  5. cluster-enabled yes (启动集群模式)
  6. cluster-config-file nodes700*.conf
  7. cluster-node-timeout 5000
  8. appendonly yes

第三步:由于redis集群需要使用ruby命令,所以我们需要安装ruby

  1. yum install ruby
  2. yum install rubygems
  3. gem install reids(安装redis和ruby的接口)

第五步:分别启动6个redis示例,然后检查是否启动成功

  1. /usr/local/redis/bin/redis-server /usr/local/redis-cluster/700*/redis.conf
  2. ps -el | grep reids 查看是否启动成功

第六步:首先到redis3.0安装目录下,然后执行redis-trib.rb 命令。

  1. cd /usr/local/redis3.0/src
  2. ./redis-trib.rb create --replicas 1 192.168.1.16:7001 192.168.1.16:7002 ..

  

  

第七步:到此为止,集群搭建成功,下面来验证一下集群

  1. 连接任意一个客户端:./redis-cli -c -h -p (-c表示集群模式,指定ip地址和端口号)如:/usr/local/redis/bin/redis-cli -c -h 192.168.1.16 -p 7001
  2. 进行验证:cluster info(查看集群信息)、cluster nodes(查看节点列表)
  3. 进行数据存储验证
  4. 关闭集群需要逐个关闭,使用命令 ./redis-cli -c -h 192.168.1.16 -p 7001 shutdown

补充:当集群出现无法启动的现象,删除临时数据文件,再次启动每一个redis服务,然后重新构造集群环境。reids-trib.rb 官方操作命令:http://redis.io/topics/cluster-tutorial 。推荐博客:http://blog.51yip.com/nosql/1726.html

架构师养成记--35.redis集群搭建的更多相关文章

  1. 架构师养成记--29.redis开篇

    主要有从下几点讲解 NOSQL(Redis) 简介.redis安装与部署 Redis基础事件类型详解 Redis高级命令 Redis与java的使用 Redis集群搭建 Redis集群与spring的 ...

  2. 架构师养成记--33.Redis哨兵、redis简单事务

    Redis哨兵 有了主从复制,如果我想想对主从服务器进行监控,在redis2.6后提供了哨兵机制,2.6有哨兵1.0版本,并不稳定.2.8以后的哨兵功能才稳定起来. 顾名思义,哨兵就是监控Redis系 ...

  3. 架构师养成记--34.Redis持久化

    ---恢复内容开始--- redis是一个支持持久化的内存数据库,也就是搜redis需要经常将内存中的数据同步到硬盘来保证持久化.redis持久化有两种方式. snapshotting(快照)默认方式 ...

  4. 架构师养成记--32.Redis高级(安全 主从复制)

    Redis高级命令及特性 keys * 返回满足的所有键值(*表示模糊匹配) exists 是否存在指定的key(返回1表示存在,0表示不存在) expire 设置某个key的过期时间,使用ttl查看 ...

  5. 架构师养成记--31.Redis的几种类型

    String类型 Redis一共分为五种基本数据类型:String.Hash.List.Set.ZSet String类型是包含很多张类型的特殊类型,并且是二进制安全的.比如对序列化的对象进行存储,比 ...

  6. 架构师养成记--30.Redis环境搭建

    Redis的安装 下载地址http://redis.io/download 安装步骤: 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到 /usr/local 文件夹下 ...

  7. Redis集群搭建-韩国庆

    认真一步一步搭建下来,就可以成功.... Redis-cluster集群架构讲解 redis集群专业名词称之为Redis-cluster,redis集群是从3.0版本以后才有的概念,也就是说在3.0之 ...

  8. redis学习五,redis集群搭建及添加主从节点

    redis集群 java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 在redis3.0之前,出现了sentinel工具来监控各个Master的状态(可以看上一篇博客).如果Master异 ...

  9. Linux Redis集群搭建与集群客户端实现

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

随机推荐

  1. 解题报告-683. K Empty Slots

    There is a garden with N slots. In each slot, there is a flower. The N flowers will bloom one by one ...

  2. 将Oracle数据库设置为归档模式及非归档模式

    一.将Oracle数据库设置为归档模式 1)sql>shutdown normal/immediate;2)sql>startup mount;3)sql>alter databas ...

  3. 4.jsp学习

    1.创建 2.命名 3.utf-8防止乱码 5.导出WAR文件

  4. Laravel 5.4 实现无限级分类

    最近在工作中遇到一个需求,是要在laravel 5.4中实现无限级分类,但发现网上这个的资料较少,所以只能自己来实现了,下面这篇文章主要给大家介绍了关于在laravel 5.4中实现无限级分类的方法示 ...

  5. [SoapUI]怎样配置SoapUI运行的不同环境,并在Jenkins上面通过命令调用不用的环境

    配置SoapUI运行的不同环境 Groovy 脚本来控制environment 在Jenkins上面通过命令调用不用的环境 http://www.soapui.org/Test-Automation/ ...

  6. centos环境下登录mysql报 ERROR 1045 (28000)怎么解决

    centos环境下登录mysql报 ERROR 1045 (28000)怎么解决 新入手一台虚拟机,Centos7系列的操作系统,安装mysql后,执行连接出现了Mysql ERROR 1045 (2 ...

  7. win7搭建node+npm+bower的环境

    原文的地址:https://my.oschina.net/JeeChou/blog/219699 Windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native ...

  8. IntelliJ IDEA 2017版 SpringBoot徒手书写HelloWorld

    1.打开编译器,选择File---->New---->Project 2.弹出设置界面,选择如图样式的1.2.3 3.设置包名称 4.继续next 5.finish完成即可 6.自动生成目 ...

  9. 关于:Warning: skipping non-radio button in group的处理方法整理

    下面讲的是一个意思: The problem is that the next control in the tab order following the last radio button of ...

  10. Oracle EBS Add Responsibility to User by the Responsibility reference of Other User.

    Oracle EBS 11i Add Responsibility to User by the Responsibility reference of Other User. Warning: R1 ...