Mac下安装ruby和用redis创建集群

创建集群前提

  集群的概念:集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放。
  集群是利用redis下的redis.trib.rb来创建集群,而redis.trib.tb是依赖于ruby环境的(由ruby开发),因此首先要安装ruby。

ruby安装
  1. 首先查看gem源(Gem是一个管理Ruby库和程序的标准包)是什么地址:

gem source -l
—>https://rubygems.org/

  1. 如链接,是国外网站,因为天朝的防火墙,国外的网站无法下到最新版,因此要切换到国内,执行以下命令:

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
发现报错,因为国内网站一直变化,登录https://gems.ruby-china.org/发现域名变化,将https://gems.ruby-china.org/ 更改为https://gems.ruby-china.com/后ok

  1. 此时查看gem source -l,域名变为:https://gems.ruby-china.com/ ,即表示转换ok,结果如下图:
    在这里插入图片描述
  2. 通过 gem 安装 redis 的相关依赖:

sudo gem install redis

  1. 安装完后输入指令:ruby -v查看Ruby版本,正常显示则说明安装ok,如下图:
    在这里插入图片描述
创建集群
  • 在文件夹(我选的桌面)根据当前ip创建集群配置:

mkdir cluster(创建文件夹)
vi 7000.config(创建基文件)

  • 复制以下代码到文件中,保存退出(ip地址是本机地址):

port 7000
bind 192.168.40.23
daemonize yes
pidfile 7000.pid
cluster-enabled yes
cluster-config-file 7000_node.conf
cluster-node-timeout 15000
appendonly yes

  • 同时复制5份(集群最少保持3个以上主节点,即至少6份),分别命名为7001.config,7002.config,7003.config,7004.config,7005.config,如下图:
    创建多个文件

  • 依次修改文件中的端口为文件名,以7001为例,如下图:

在这里插入图片描述

  • 依次开启redis(根据redis配置开启,使其以配置运行),redis-server 7000.conf,redis-server 7001.conf…,结果如下图:
    在这里插入图片描述

  • 运行如下命令创建集群:

ruby redis-trib.rb create --replicas 1 172.16.179.130:7000 172.16.179.130:7001 172.16.179.130:7002 172.16.179.131:7003 172.16.179.131:7004 172.16.179.131:7005

在这里插入图片描述

  • 从图中发现3M3S,M边对应着0-16383的slot(卡槽),卡槽的不同对应着在不同的集群上写数据(无卡槽则只能读数据),而分配是利用CRC16算法来完成的,简单说明如下:

1.redis cluster在设计的时候,就考虑到了去中⼼化,每个节点平等,在任意节点可以获取其他节点数据;
2.redis cluster 默认分配了 16384 个slot,当我们 set⼀个key 时,会⽤CRC16算法来取模得到所属的slot,然后将这个key 分到哈 希槽区间的节点上,具体算法就是:CRC16(key) % 16384;
3.Redis 集群会把数据存在⼀个 master 节点,然后在这个 master 和其对应的salve 之间进⾏数据同步,只有当⼀个master 挂掉之后,才会启动⼀个对应的 salve 节点,充 当 master;
4.必须要3个或以上的主节点,否则在创建集群时会失败,并且当存 活的主节点数⼩于总节点数的⼀半时,整个集群就⽆法提供服务了;

数据验证

  在本机连接输入以下命令连接7002,加参数-c表示连接到集群:

redis-cli -h 172.16.179.131 -c -p 7002

  写入数据:set name curry,发现⾃动跳到了7003服务器,并写⼊数据成功,在7003可以获取数据,如果写入数据又重定向到7000(负载均衡) ,即集群创建成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值