• 架构师养成记--35.redis集群搭建


      前记: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

  • 相关阅读:
    DIV+CSS规范命名大全集合
    display:none与visibility:hidden的区别
    为什么无法发起qq临时会话,必须添加好友?如何设置才能临时会话?
    gif动态图片去白边,杂边
    【原创】[PS技巧]如何制作翘角纸条的阴影效果
    ......那么Win8.1怎么去掉文件夹?
    Win8增加了快速启动功能......
    不间断图片滚动JS
    FlatList
    react native 布局
  • 原文地址:https://www.cnblogs.com/sigm/p/6525267.html
Copyright © 2020-2023  润新知