zoukankan      html  css  js  c++  java
  • 搭建redis集群

    一、初始化环境

    通过redis-trib工具创建redis-cluster 集群
    yum -y install redis-trib
     
    #创建目录并添加环境变量
    mkdir -p /usr/local/redis/bin/
    mkdir -p /data/redis/
    echo 'export PATH=$PATH:/usr/local/redis/bin' >> /etc/profile
    source /etc/profile
    
    #生成启动脚本
    cat > /data/redis/start.sh <<EOF
    #!/bin/sh
    user=redis
    BINDIR=/usr/local/redis
    BASEDIR=/data/redis
    ConfFile=$BASEDIR/redis.conf
    ThisUser=`whoami`
    ISInUser=0
    if [ $ThisUser == $user ]; then
     ISInUser=1
    fi
    if [ $ISInUser -eq 1 ]; then
     $BINDIR/bin/redis-server $ConfFile
    else
     su $user -c "$BINDIR/bin/redis-server $ConfFile"
    fi
    EOF	
    
    #生成配置文件
    cat > /app/redis/redis.conf<<EOF
    port 6379
    #端口
    cluster-enabled yes
    #开启集群功能
    cluster-config-file nodes-6379.conf
    #集群配置文件
    cluster-node-timeout 5000
    #集群节点超时时间,单位毫秒
    cluster-slave-validity-factor 0
    #主节点失联后是否立即升为主节点
    appendonly yes
    #开启AOF模式
    appendfsync everysec
    #fsync模式,每秒写入一次aof
    maxmemory 8gb
    #最大内存
    maxmemory-policy volatile-lru
    #内存不足时清除策略
    bind 0.0.0.0
    #绑定IP
    dir /data/redis/
    #持久化文件路径
    appendfilename "appendonly.aof"
    #保存数据的aof名称
    daemonize yes
    #后台运行
    pidfile redis.pid
    #pid文件
    EOF

    二、下载、编译、分发指定redis版本

    #所有节点
    node=(10.20.242.2 10.20.242.3 10.20.242.4 10.20.242.5 10.20.242.6 10.20.242.7)
    
    #下载redis
    wget http://download.redis.io/releases/redis-3.2.11.tar.gz
    tar zxvf redis-3.2.11.tar.gz
    cd redis-3.2.11
    #编译
    make
    cd src
    for i in ${node[@]};do scp redis-cli redis-server redis-check-aof redis-check-aof redis-sentinel redis-benchmark $i:/usr/local/redis/bin/ ;done
    

    三、创建集群

    #创建redis集群,3主3从
    redis-trib create --replicas 1 10.20.242.2:6379 10.20.242.3:6379 10.20.242.4:6379 10.20.242.5:6379 10.20.242.6:6379 10.20.242.7:6379
    

      

  • 相关阅读:
    阿里中间件——消息中间件Notify和MetaQ
    大型网站架构系列:分布式消息队列
    Mycat
    spring集成mybatis实现mysql读写分离
    mysql5.7.18的安装与主从复制
    NuGet学习笔记(3) 搭建属于自己的NuGet服务器
    NuGet学习笔记(1)——初识NuGet及快速安装使用
    Android 中使用 html 作布局文件
    获取WebView加载HTML时网页中的内容
    android学习——popupWindow 在指定位置上的显示
  • 原文地址:https://www.cnblogs.com/luchuangao/p/9291300.html
Copyright © 2011-2022 走看看