• redis 之 redis伪集群的搭建


    1. 集群:集群是相对于单机来说的。单机是一台服务器提供了一个服务,集群是一台服务器提供了多个相同的服务器或者多台服务器提供多个相同的服务。

    2.为什么要使用集群?

    • 高可用,一台服务器宕机后,其他服务器可以继续提供服务。
    • 高性能。
    • 可以横向扩展。

    3.集群的搭建?

      在集群环境中,如果有一半的服务器宕机,那么整个集群就会被宕机。如果有4台服务器,有2台宕机了,那么整个集群就挂了,所以推荐集群环境中服务器的个数是奇数。而为了使得集群高可用,一般会为每一台服务器准备个备用服务器,又称为主从服务器。所以最小的集群为6个服务。

    4.Redis集群存储原理:

    Redis集群会将整个集群进行分slot(槽)管理。slot范围为0-16383.slot是一个编号。当存储数据时会将数据进行hashCode取值,将hash值对16384取余。决定该值存放在哪个服务上。

    5.伪集群和真是集群的区别?

      伪集群是在一台服务器上提供多个服务

      真是集群是在多台服务器上分别提供服务

    6.伪集群的搭建步骤:

    • 下载redis-3.0.6.tar.gz并上传到/user/local下
    • 解压tar-zxvf redis-3.0.6.tar.gz
    • 进入解压目录:cd redis-3.0.6
    • 在该目录下进行预编译 make
    • 在该目录下进行编译安装 make install
    • 新建集群目录 mkdir -p/usr/local/cluster
    • 进入集群目录cd/usr/local/cluster
    • 新建每个服务的目录
      • mkdir 7001

        mkdir 7002

        mkdir 7003

        mkdir 7004

        mkdir 7005

        mkdir 7006

    • 拷贝/usr/local/redis-3.0.6/redis.conf 到 /usr/local/cluster
    • 进入/usr/local/cluster
    • 编辑配置文件 redis.conf文件
      • daemonize yes

        port 7001

        appendonly yes

        cluster-enabled yes

        cluster-config-file nodes.conf

    • 将cluster下的redis.conf文件拷贝到7001,7002,7003,7004,7005,7006中,并且将端口改为和目录名称对应上。
      • cp redis.conf 7001

        cp redis.conf 7002

        cp redis.conf 7003

        cp redis.conf 7004

        cp redis.conf 7005

        cp redis.conf 7006

    • 分别启动6个服务
      • cd 7001

        redis-server redis.conf

        cd ../7002

        redis-server redis.conf

        cd ../7003

        redis-server redis.conf

        cd ../7004

        redis-server redis.conf

        cd ../7005

        redis-server redis.conf

        cd ../7006

        redis-server redis.conf

    • 使用命令ps-ef|grep redis 查看

    • redis集群管理需要使用rudy来进行管理,所以需要安装ruby
    • yum install ruby
    • yum install rubygems
    • gem install redis
    • 进入  cd/usr/local/redis-3.0.6/src/
    • 添加集群管理:
      • ./redis-trib.rb create --replicas 1 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 127.0.0.1:7006

    • 进入客户端命令 ./redis-cil -c -p 7001

      

      

  • 相关阅读:
    Mach-O iOS
    IPA的构建原理 iOS
    输入网址进入网页按回车刷新网页都发生了什么?URL 输入到显示的过程?
    LeetCode另一棵树的子树Swift
    如何解决静态库的冲突问题 iOS
    LeetCode下一个更大元素 I Swift -- 单调递增栈
    UITapGestureRecognizer 和 UICollectionView/UITableView等点击事件冲突问题
    UITableView/UICollectionView调用reloadData刷新时界面闪烁
    C#绘制折线图或曲线图,直接返回Image对象或图片文件
    C#反射+继承+接口的应用
  • 原文地址:https://www.cnblogs.com/forever2h/p/6867734.html
Copyright © 2020-2023  润新知