Redis集群搭建&扩容

Redis集群搭建&动态扩容

      • 资源准备
      • 节点扩容

本次采用伪集群的搭建方式,三主三从 端口分别是7001~7006
动态扩容主机7007、7008
Redis集群搭建&扩容_第1张图片

资源准备

  • 下载安装资源
    下载路径:http://www.redis.cn/download.html
    这里使用的是5.0.5版本
  • 安装
    上传至指定服务器,解压。
    安装目录 /opt/redis-cluster/7001
#进入解压目录
cd /opt/redis/redis-5.0.5
#安装
make install PREFIX=/opt/redis-cluster/7001
  • 修改配置文件

    #复制redis配置文件
    cp redis.conf  /usr/local/redis-cluster/7001/bin
    cd /usr/local/redis-cluster/7001/bin
    
  • 编辑redis 配置文件
    vim redis.conf

    port=7001
    cluster-enable yes
    #注释掉这一行
    #bind 127.0.0.1
    daemonize yes
    
  • 复制7001文件夹 7002~7006

    cp -r 7001 /usr/local/redis-cluster/7002
    cp -r 7001 /usr/local/redis-cluster/7003
    cp -r 7001 /usr/local/redis-cluster/7004
    cp -r 7001 /usr/local/redis-cluster/7005
    cp -r 7001 /usr/local/redis-cluster/7006
    

    复制完成后要注意修改端口

  • 创建启动脚本 start_cluster.sh

    ./redis-server redis.conf
    cd ..
    cd ..
    cd 7002/bin
    ./redis-server redis.conf
    cd ..
    cd ..
    cd 7003/bin
    ./redis-server redis.conf
    cd ..
    cd ..
    cd 7004/bin
    ./redis-server redis.conf
    cd ..
    cd ..
    cd 7005/bin
    ./redis-server redis.conf
    cd ..
    cd ..
    cd 7006/bin
    ./redis-server redis.conf
    cd ..
    cd ..
    
    
  • 修改权限
    chmod u+x start_cluster.sh

  • 启动 验证
    Redis集群搭建&扩容_第2张图片
    Redis集群搭建&扩容_第3张图片

  • 集群创建

 ./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 这里的1表示1个从机  复制的细节为前三台未主机,后三台为从机 7001~7003(主)、7004~7006(从)
以下是复制的详情以及槽位的分布详情,在启动时打印信息中会体现
[root@teacher1 bin]# ./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
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 127.0.0.1:7005 to 127.0.0.1:7001
Adding replica 127.0.0.1:7006 to 127.0.0.1:7002
Adding replica 127.0.0.1:7004 to 127.0.0.1:7003

Redis集群搭建&扩容_第4张图片
启动完成,通过进入客户端,查看集群状态
./redis-cli -h 127.0.0.1 -p 7001 -c
-c表示以redis集群方式连接

#设置值 会提示本次数据存入哪个节点
-> Redirected to slot [12706] located at 127.0.0.1:7003
OK
127.0.0.1:7003> 
  • 查看集群状态
    cluster info
  • 查看集群节点
    cluster nodes

节点扩容

  • 创建新节点
    创建7007 ,复制之前的集群节点配置
    启动7007 ./redis-server redis.conf
  • 添加至集群
./redis-cli --cluster add-node 127.0.0.1:7007 127.0.0.1:7001

Redis集群搭建&扩容_第5张图片
添加完主节点(7007)需要对主节点进行hash槽分配,这样该主节才可以存储数据。

  • 分配槽位
    ./redis-cli --cluster reshard 127.0.0.1:7007
  • 增加从节点7008
    同之前操作类似,复制新节点7008 ,将7008作为7007的从结点
    ./redis-cli --cluster add-node 新节点的ip和端口 旧节点ip和端口 --cluster-slave -- cluster-master-id 主节点id
  • 结果验证
    连接任意节点./redis-cli -h 127.0.0.1 -p 7001 -c
    使用cluster nodes命令查看详情
127.0.0.1:7001> cluster nodes

你可能感兴趣的:(Redis,redis)