2.2 cluster- 三台服务器集群 伪集群

2.2.1Redis Cluster简介

什么是Redis-Cluster

  1. 为何要搭建Redis集群,Redis是在内存中保存数据的,而我们的电脑一般内存都不够大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者MogoDB。Redis更适合处理高并发,一台设备的存储能力是有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。
  2. Redis集群搭建的方式有多种,例如使用客户端分片、Twemproxy、Codis等,但从redis
    3.0之后版本支持redis-cluster集群,它是Redis官方提出的解决方案,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。
  3. 客户端与 redis 节点直连,不需要中间 proxy 层.客户端不需要连接集群所有节点连接集群中任何一个可用节点即可。 所有的 redis
  4. 节点彼此互联(PING-PONG 机制),内部使用二进制协议优化传输速度和带宽.

2.2.2 搭建Redis-Cluster

1. 搭建Redis-Cluster

需要 6 台 redis 服务器。
搭建伪集群。 需要 6 个 redis 实例。
需要运行在不同的端口 7001-7006

2. 准备工作
  1. 安装gcc(安装单节点模式有说明安装步骤)
  2. 将下载的redis-6.0.6.tar.gz 使用工具放在 /opt 目录;
  • 解压命令: tar -zxf redis-6.0.6.tar.gz
  1. 完成解压后,将解压后的文件移动到 /home/ltree/tools/redis 目录下 :mv redis-6.0.6 /home/ltree/tools/redis
  2. 编译redis源码,进入redis文件夹: cd /home/ltree/tools/redis/redis-6.0.6 编译: make
  3. 创建目录/usr/local/redis-cluster目录, 安装6个redis实例,分别安装在以下目录
    /usr/local/redis-cluster/redis-1
    /usr/local/redis-cluster/redis-2
    /usr/local/redis-cluster/redis-3
    /usr/local/redis-cluster/redis-4
    /usr/local/redis-cluster/redis-5
    /usr/local/redis-cluster/redis-6
  4. 以第一个redis实例为例,命令如下
    make install PREFIX=/usr/local/redis-cluster/redis-1 按此方法安装其余5个redis实例
  5. 复制配置文件 将/redis-6.0.6/redis.conf 复制到redis下的bin目录下
    cd /home/ltree/tools/redis/redis-6.0.6cp redis.conf /usr/local/redis-cluster/redis-1/bincp redis.conf /usr/local/redis-cluster/redis-2/bincp redis.conf /usr/local/redis-cluster/redis-3/bincp redis.conf /usr/local/redis-cluster/redis-4/bincp redis.conf /usr/local/redis-cluster/redis-5/bincp redis.conf /usr/local/redis-cluster/redis-6/bin
3. 配置集群
  • 修改每个redis节点的配置文件redis.conf,修改运行端口为7001 (7002 7003 ……)
  • redis多台服务器安装集群 redis集群几台机器合适_Redis

  • 将cluster-enabled yes 前的注释去掉
  • redis多台服务器安装集群 redis集群几台机器合适_redis_02

  • daemonize no改为yes

redis多台服务器安装集群 redis集群几台机器合适_redis多台服务器安装集群_03

4. 启动redis集群
1. 以第一个实例为例,命令如下:
cd /usr/local/redis-cluster/redis-1/bin/
./redis-server redis.conf
  • 把其余的5个也启动起来,然后查看一下是不是都启动起来了
ps -ef | grep redis

redis多台服务器安装集群 redis集群几台机器合适_linux_04

2. 搭建集群

进入redis源码目录中的src目录 执行下面的命令

cd /home/ltree/tools/redis/redis-6.0.6/src
./redis-cli --cluster create  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 --cluster-replicas 1

集群参数解释:
cluster-replicas 1 : 表示希望为集群中的每个主节点创建一个从节点(一主一从)。
cluster-replicas 2 : 表示希望为集群中的每个主节点创建两个从节点(一主二从)。

redis多台服务器安装集群 redis集群几台机器合适_linux_05

成功,输入yes

redis多台服务器安装集群 redis集群几台机器合适_linux_06

3. 查看集群状态:

在/home/ltree/tools/redis/redis-6.0.6/src 目录下:./redis-cli --cluster check 127.0.0.1:7001

redis多台服务器安装集群 redis集群几台机器合适_linux_07

4. Redis Cluster集群配置完成了
5. 注意事项:

当使用 ./redis-cli --cluster create 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 --cluster-replicas 1 创建集群以后,一次创建,永久使用,之后启动每一个节点即可创建集群 结束命令:./redis-cli -c -h 192.168.124.23 -p 7004 shutdown 进入集群命令 redis-cli -c -h host -p prot 不带-c 参数进入的不是集群