Linux下redis-cluster单机集群安装方法

来源:互联网 发布:python调用exe程序 编辑:程序博客网 时间:2024/05/22 10:48

1)redis-cluster架构图


架构细节:

(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

(2)节点的fail是通过集群中超过半数的master节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->key


说明:redis 只有从3.0往后才支持集群,之前的版本不支持集群。本问讲的是3.0的集群配置。更高的版本 配置文件有些许不一样 这里不做赘述。

2) redis-cluster选举:容错




架构细节:

(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot,cluster负责维护node<->slot<->value

Redis集群中内置了 16384个哈希槽,当需要在 Redis集群中放置一个 key-value时,redis先对 key使用 crc16算法算出一个结果,然后把结果对 16384求余数,这样每个 key都会对应一个编号在 0-16383之间的哈希槽,redis会根据节点数量大致均等的将哈希槽映射到不同的节点


3)redis-cluster集群搭建条件

Redis集群中至少应该有三个节点。要保证集群的高可用,需要每个节点有一个备份机。

Redis集群至少需要6台服务器。

搭建伪分布式。可以使用一台虚拟机运行6个redis实例。只需要修改redis的端口号7001-7006

4)redis-cluster集群搭建环境

  4.1 首先创建一个文件夹 redis-cluster  然后在这个文件夹下复制6份 redis 安装文件。文件名redis01-06

       文件结构如下

  4.2 修改每个文件夹下的 redis.conf 修改2个地方  

       第一个地方改端口 port 7001  如果是redis02文件夹 那么端口号就改成 7002 以此类推 

       第二个地方开启集群模式  开启cluster-enablad yes 默认是注释掉的 取消注释即可


  4.3 启动redis 一共有6个redis 可以写一个批处理批量启动 

     vim  start-all.sh  输入

cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..

保存退出。
默认的start-all.sh文件是没有执行权限的 需要执行 chmod +x start-all.sh  赋予执行权限即可。

   然后启动 ./start-all.sh
   如何查看有没有启动成功
   执行ps aux|grep redis 如果看到了以下页面 则代表启动成功 

   
4.2 启动好6个实例以后 开始搭建集群。搭建集群需要使用一个工具。在redis源代码里面有个脚本文件 这个脚本是ruby脚本。想要允许必须安装ruby的运行环境。
      

4.2.1 

安装ruby

yum install ruby

yum install rubygems


4.2.2

安装ruby脚本运行使用的包。 

下载地址:https://pan.baidu.com/s/1slLWGX3

[root@localhost ~]# gem install redis-3.0.0.gem

Successfully installed redis-3.0.0

1 gem installed

Installing ri documentation forredis-3.0.0...

Installing RDoc documentation forredis-3.0.0...

[root@localhost ~]# 


4.2.3

执行脚本

进入redis安装目录进入src目录 找到redis-reib.rb这个文件夹。复制到redis-cluster文件夹 效果如下


然后开始执行脚本。输入命令 

./redis-trib.rb create --replicas 1 192.168.xx.xx:7001192.168.xx.xx:7002192.168.xx.xx:7003 192.168.xx.xx:7004192.168.xx.xx:7005192.168.xx.xx:7006   
ps:xx改成对应ip即可。
命令执行完成以后。redis集群完成。


原创粉丝点击