redis cluster集群安装

2018-11-01  本文已影响0人  说好的幸福_

前言:

RedisCluster采用slot分区,所有的键根据哈希函数(CRC16[key]&16383)映射到0-16383槽内,共16384个槽位,每个节点维护部分槽及槽所映射的键值数据

哈希函数: Hash()=CRC16[key]&16383

redisCluster的缺陷:

a,键的批量操作支持有限,比如mset, mget,如果多个键映射在不同的槽,就不支持了  mset name james age 19

b,键事务支持有限,当多个键分布在不同节点时无法使用事务,同一节点是支持事务

c,键是数据分区的最小粒度,不能将一个很大的键值对映射到不同的节点

d,不支持多数据库,只有0,select 0

e,复制结构只支持单层结构,不支持树型结构。

一、手动搭建

1、步骤

该集群共有三个master,每个master下分别有一个slave,共有6个节点

a、首先配置6个单节点redis.conf

b、分别启动这6个节点

c、节点握手,进入一个节点让该节点分别和其余5个节点握手、

d、分别为三个master分配哈希槽

e、集群映射,分别为三个slave指定各自的master

二、利用ruby搭建

1、首先安装ruby和redis.gem

下载链接:https://pan.baidu.com/s/1kWsf3Rh 密码:n3pc

从这个链接下载  ruby-2.3.1.tar.gz  和  redis-3.3.0.gem

  tar -zxvf ruby-2.3.1.tar.gz    //解压

  a,  cd ruby-2.3.1

  b,  ./configure -prefix=/usr/local/ruby    //指定安装目录

  c,  make && make install  //过程会有点慢,大概5-10分钟

  d,  然后gem install -l redis-3.3.0.gem    //若没有gem需要安装yum install gem -y

2、配置集群

  e, 准备好6个节点配置文件redis6379.conf....redis6391.conf, 加上bind 192.168.1.111(注意不要设置requirepass,不然./redis-trib访问不了……)

  f, 将/usr/local/bin/clusterconf/data的config-file删除;

  g, 依次启动6个节点:./redis-server clusterconf/redis6379.conf

  h, 如果之前redis有数据存在,分别flushall清空各个节点的数据;(坑:不需要cluster meet ..)

  i, ./redis-trib.rb create --replicas 1 192.168.1.111:6379 192.168.1.111:6380 192.168.1.111:6381 192.168.1.111:6389 192.168.1.111:6390 192.168.1.111:6391

上一篇下一篇

猜你喜欢

热点阅读