Ubuntu 创建redis集群

Redis Cluster(Redis集群)简介

redis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis5.0.0版本

redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点;

redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例;

为了实现集群的高可用,即判断节点是否健康(能否正常使用),redis-cluster有这么一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了(fail)。这是判断节点是否挂了的方法;

那么如何判断集群是否挂了呢? -> 如果集群中任意一个节点挂了,而且该节点没有从节点(备份节点),那么这个集群就挂了。这是判断集群是否挂了的方法;

那么为什么任意一个节点挂了(没有从节点)这个集群就挂了呢? -> 因为集群内置了16384个slot(哈希槽),并且把所有的物理节点映射到了这16384[0-16383]个slot上,或者说把这些slot均等的分配给了各个节点。当需要在Redis集群存放一个数据(key-value)时,redis会先对这个key进行crc16算法,然后得到一个结果。再把这个结果对16384进行求余,这个余数会对应[0-16383]其中一个槽,进而决定key-value存储到哪个节点中。所以一旦某个节点挂了,该节点对应的slot就无法使用,那么就会导致集群无法正常工作。

综上所述,每个Redis集群理论上最多可以有16384个节点。

搭建过程

一、下载并且解压redis5.0.0安装包

下载链接:wget https://download.redis.io/releases/redis-5.0.0.tar.gz

解压:
在这里插入图片描述

安装:

下载依赖:
apt-get install build-essential gcc gcc+ -y
biud安装:
cd redis-5.0.0
make && make install

配置多实例:

这里将原配置文件进行备份,并且拷贝两份配置文件
 cp redis.conf redis.conf.bak
 cp  redis.conf  redis1.conf 
 cp  redis.conf  redis2.conf 

配置文件内容如下:

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

大家自己观察下需要改动的几个地方

port 6379   
pidfile 6379.pid 
cluster-config-file 6379_node.conf 

在这里插入图片描述

启动实例:

redis-server /data/redis-5.0.0/redis1.conf
redis-server /data/redis-5.0.0/redis2.conf

查看进程:
在这里插入图片描述
注意:这里我使用三台宿主机共创建了6个节点,接下来组成集群

5.0版本的redis我们可以直接使用redis-cli创建集群,这里我没有使用密码,如需创建密码集群 可直接 redis-cli --cluster -a 密码 实现。

redis-cli  --cluster create --cluster-replicas 1 172.25.236.38:6379 172.25.236.38:6380 172.25.236.40:6379 172.25.236.40:6380 172.25.236.56:6379 172.25.236.56:6380

命令输出后,会给到你一个配置列表,如果你觉得没有问题,直接yes 确认即可创建完成。 至此redis集群创建完成!!

注:登陆集群时,要加 -c 参数,代表进入redis集群模式
在这里插入图片描述
查看集群状态:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值