zoukankan      html  css  js  c++  java
  • redis三种集群策略

    主从复制

    • 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库
    • 从数据库一般都是只读的,并且接收主数据库同步过来的数据
    • 一个master可以拥有多个slave,但是一个slave只能对应一个master

    哨兵模式

    • 监控主从数据库是否正常运行
    • master出现故障时,自动将slave转化为master
    • 多哨兵配置的时候,哨兵之间也会自动监控
    • 多个哨兵可以监控同一个redis

    集群模式

    两台虚拟机CentOS搭建3 master、3 salve 环境。

    (1)下载并解压

      cd /root/software

      wget http://download.redis.io/releases/redis-3.2.4.tar.gz

      tar -zxvf redis-3.2.4.tar.gz 

    (2)编译安装

      cd redis-3.2.4

      make && make install

    (3)将 redis-trib.rb 复制到 /usr/local/bin 目录下

        cd src
      cp redis-trib.rb /usr/local/bin/

    (3)创建 Redis 节点

      mkdir redis_cluster

      在 redis_cluster 目录下,创建名为7000、7001、7002的目录,并将 redis.conf 拷贝到这三个目录中

      mkdir 7000 7001 7002

      cp redis.conf redis_cluster/7000

      cp redis.conf redis_cluster/7001

      cp redis.conf redis_cluster/7002

      分别修改这三个配置文件,修改如下内容

      port  7000                                        //端口7000,7002,7003       

      bind 本机ip                                       //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群

      daemonize    yes                               //redis后台运行

      pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,7001,7002

      cluster-enabled  yes                           //开启集群  把注释#去掉

      cluster-config-file  nodes_7000.conf   //集群的配置  配置文件首次启动自动生成 7000,7001,7002

      cluster-node-timeout  15000                //请求超时  默认15秒,可自行设置

      appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志 

      接着在另外一台机器上重复以上三步,只是把目录改为7003、7004、7005,对应的配置文件也按照这个规则修改即可.

    (4)启动各个节点

      第一台机器上执行

      redis-server redis_cluster/7000/redis.conf

      redis-server redis_cluster/7001/redis.conf

      redis-server redis_cluster/7002/redis.conf

      另外一台机器上执行

      redis-server redis_cluster/7003/redis.conf

      redis-server redis_cluster/7004/redis.conf

      redis-server redis_cluster/7005/redis.conf

    (5)检查 redis 启动情况

      ps -aux| grep redis

    (6)需要安装 ruby

      yum -y install ruby ruby-devel rubygems rpm-build

      gem install redis

    (7)创建集群

      Redis 官方提供了 redis-trib.rb 这个工具,就在解压目录的 src 目录中,第三步中已将它复制到 /usr/local/bin 目录中,可以直接在命令行中使用了。使用下面这个命令即可完成安装。

      redis-trib.rb  create  --replicas  1  192.168.31.245:7000 192.168.31.245:7001  192.168.31.245:7002 192.168.31.210:7003  192.168.31.210:7004  192.168.31.210:7005

    (8)集群验证

      在第一台机器上连接集群的7002端口的节点,在另外一台连接7005节点,连接方式为 redis-cli -h 192.168.31.245 -c -p 7002  ,加参数 -C 可连接到集群,因为上面 redis.conf 将 bind 改为了ip地址,所以 -c 参数不可以省略。在7005节点执行命令  set hello world ,然后在另外一台7002端口,查看 key 为 hello 的内容, get hello 。

  • 相关阅读:
    我了解到的新知识之----如何使用Python获取最新外汇汇率信息
    软工实践个人总结
    第06组 Beta版本演示
    第06组 Beta冲刺(5/5)
    第06组 Beta冲刺(4/5)
    第06组 Beta冲刺(3/5)
    第06组 Beta冲刺(2/5)
    第06组 Beta冲刺(1/5)
    第06组 Alpha事后诸葛亮
    第06组 Alpha冲刺(6/6)
  • 原文地址:https://www.cnblogs.com/felixzh/p/11169998.html
Copyright © 2011-2022 走看看