centos7下redis集群搭建笔记

redis集群搭建笔记

不使用集群工具搭建一个三主三从的高可用集群,redis节点规划如下

redis主节点:

  192.168.17.155:7001

  192.168.17.155:7002

  192.168.17.155:7003

redis从节点:

  192.168.17.155:8001

  192.168.17.155:8002

  192.168.17.155:8003

##开始搭建
安装并配置redis

  1. 下载redis源码

     mkdir -p /redis/src
     wget -c -P /redis/src/  http://download.redis.io/releases/redis-4.0.1.tar.gz
    
  2. 解压缩

     cd  /redis/src/ && tar -zxvf redis-4.0.1.tar.gz -C /usr/local/
    
  3. 修改原始配置文件

     cd /usr/local/redis-4.0.1/ && vi redis.conf
    

    主要的修改如下

    修改绑定IP地址为全部网卡地址: bind 192.168.17.155

    守护进程启动的方式: daemonize yes

    指定pid文件位置: pidfile /var/run/redis-7001.pid

    设置请求密码: requirepass 000000

    设置主从连接密码: masterauth 000000

    设置日志路径: logfile “/var/log/redis/redis-server-7001.log”

    设置集群模式: cluster-enabled yes

    redis集群配置: cluster-config-file nodes-7001.conf
    超时时间: cluster-node-timeout 15000

    开启持久化AOF: appendonly yes

    设置文件名:appendfilename “appendonly-7001.aof”

    端口号:port 7001

  4. 编译并安装

     yum install -y gcc make
     make && make install 
    
  5. 将刚才的原始配置文件复制六份并修改信息

     vi cp-conf.sh
    

    内容如下:

     #!/bin/bash
     CONF_PATH=/etc/redis
     mkdir -p ${CONF_PATH}
     for ((i=7001;i<=7003;i++))
     do
    		cp /usr/local/redis-4.0.1/redis.conf ${CONF_PATH}/redis-${i}.conf
    		sed -i  "s/7001/${i}/g" ${CONF_PATH}/redis-${i}.conf
     done
    
     for ((i=8001;i<=8003;i++))
     do
    		cp /usr/local/redis-4.0.1/redis.conf ${CONF_PATH}/redis-${i}.conf
    		sed -i  "s/7001/${i}/g" ${CONF_PATH}/redis-${i}.conf
     done
    
  6. 执行脚本

     chmod +x cp-conf.sh && sh cp-conf.sh
    

  7. 现在分别启动六个redis实例

     vi redis-start.sh
    

    内容如下

     #!/bin/bash
     CONF_PATH=/etc/redis
     for ((i=7001;i<=7003;i++))
     do
     	redis-server  ${CONF_PATH}/redis-${i}.conf
     done
    
     for ((i=8001;i<=8003;i++))
     do
     	redis-server  ${CONF_PATH}/redis-${i}.conf
     done
    
  8. 执行脚本

     mkdir -p  /var/log/redis/
     chmod +x redis-start.sh && sh redis-start.sh
    
  9. 用ss命令查看一下服务是否正常启动

     ss -tlnup | grep redis
    

到此六个实例就已经安装并启动完毕了。

开始构建集群

  • 传统方式

    1. 六个节点握手

       vi  meet.sh
      

      内容如下

       #!/bin/bash
       for ((i=7002;i<=7003;i++))
       do
       	redis-cli -h 192.168.17.155 -p 7001 -a 000000 CLUSTER MEET 192.168.17.155 ${i}
       done
      
       for ((i=8001;i<=8003;i++))
       do
       	redis-cli -h 192.168.17.155 -p 7001 -a 000000 CLUSTER MEET 192.168.17.155 ${i}
       done	
      
    2. 执行脚本

       chmod +x meet.sh && sh meet.sh
      

    3. 分配槽位

       vi redis-slot.sh
      

      内容如下

       #!/bin/bash
       n=0
       for ((i=n;i<=5461;i++))
       do
       	redis-cli -h 192.168.17.155  -p 7001 -a 000000  CLUSTER ADDSLOTS $i
       done
      
       n=5462
       for ((i=n;i<=10922;i++))
       do
       	redis-cli -h 192.168.17.155 -p 7002 -a 000000 CLUSTER ADDSLOTS $i
       done
      
       n=10923
       for ((i=n;i<=16383;i++))
       do
       	redis-cli -h 192.168.17.155 -p 7003 -a 000000 CLUSTER ADDSLOTS $i
       done 
      
    4. 执行脚本

       chmod +x redis-slot.sh && sh redis-slot.sh
      

      查看一下cluster节点信息

    5. 添加slave

      可以看到上图的节点信息中的第一列,即为我们需要的信息,用于添加主从,让我们截取一下

       vi redis-rep.sh
      

      内容如下

       #!/bin/bash
       M7001=`redis-cli -h 192.168.17.155 -p 7001 -a 000000 CLUSTER NODES | grep myself | cut -f 1 -d " "`
       M7002=`redis-cli -h 192.168.17.155 -p 7002 -a 000000 CLUSTER NODES | grep myself | cut -f 1 -d " "`
       M7003=`redis-cli -h 192.168.17.155 -p 7003 -a 000000 CLUSTER NODES | grep myself | cut -f 1 -d " "`
       for ((i=8001;i<=8003;i++))
       do
       	TMP_REDIS_NUM=M$((i-1000))
       	TMP_RP_NUM=`eval echo '$'"${TMP_REDIS_NUM}"`
       	redis-cli -h 192.168.17.155 -p ${i} -a 000000 CLUSTER REPLICATE ${TMP_RP_NUM}
       done
      
    6. 执行

       chmod +x redis-rep.sh && sh redis-rep.sh
      
    7. 现在再去看一下集群信息

到此redis的三主三从的集群就已经搭建完毕了,但是这种方法比较费时,有外网的环境下建议使用redis-trib构建集群。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值