• redis搭建主从(1主2从)


    一,先附上配置文件

    1,master(6379.conf)上面的配置文件

    daemonize yes
    pidfile /usr/local/redis/logs/redis_6379.pid
    port 6379
    tcp-backlog 1024
    bind 0.0.0.0 
    timeout 0
    tcp-keepalive 60
    loglevel notice
    logfile "/usr/local/redis/logs/redis_6379.log"
    
    
    
    databases 16
    
    
    save ""
    #save 900 1  
    #save 300 10  
    #save 60 10000  
    
    stop-writes-on-bgsave-error yes
    
    rdbcompression yes
    rdbchecksum yes
    
    dbfilename dump.rdb
    dir /usr/local/redis/data/
    
    
    
    #如果做故障切换,不论主从节点都要填写密码且要保持一致
    masterauth linlin
    
    
    slave-serve-stale-data yes
    slave-read-only yes
    repl-disable-tcp-nodelay no
    slave-priority 100
    
    
    
    requirepass linlin
    
    
    appendonly yes
    appendfilename "appendonly.aof"
    # appendfsync always  
    appendfsync everysec
    # appendfsync no  
    no-appendfsync-on-rewrite no
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    aof-load-truncated yes
    
    
    lua-time-limit 5000
    
    
    slowlog-log-slower-than 1000
    slowlog-max-len 1000
    
    
    latency-monitor-threshold 0
    
    
    notify-keyspace-events ""
    
    
    hash-max-ziplist-entries 512
    hash-max-ziplist-value 64
    list-max-ziplist-entries 512
    list-max-ziplist-value 64
    set-max-intset-entries 512
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    hll-sparse-max-bytes 3000
    
    activerehashing yes
    client-output-buffer-limit normal 0 0 0
    client-output-buffer-limit slave 256mb 64mb 60
    client-output-buffer-limit pubsub 32mb 8mb 60
    
    hz 10
    aof-rewrite-incremental-fsync yes
    

      

    2,slave1 (6380.conf)上面的配置文件

    daemonize yes
    pidfile /usr/local/redis/logs/redis_6380.pid
    port 6380
    tcp-backlog 1024
    bind 0.0.0.0 
    timeout 0
    tcp-keepalive 60
    loglevel notice
    logfile "/usr/local/redis/logs/redis_6380.log"
    
    
    
    databases 16
    
    
    save ""
    #save 900 1  
    #save 300 10  
    #save 60 10000  
    
    stop-writes-on-bgsave-error yes
    
    rdbcompression yes
    rdbchecksum yes
    
    dbfilename dump.rdb
    dir /usr/local/redis/data/
    
    
    slaveof 10.211.55.7 6379
    
    #如果做故障切换,不论主从节点都要填写密码且要保持一致
    masterauth linlin
    
    
    slave-serve-stale-data yes
    slave-read-only yes
    repl-disable-tcp-nodelay no
    slave-priority 100
    
    
    
    requirepass linlin
    
    
    appendonly yes
    appendfilename "appendonly.aof"
    # appendfsync always  
    appendfsync everysec
    # appendfsync no  
    no-appendfsync-on-rewrite no
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    aof-load-truncated yes
    
    
    lua-time-limit 5000
    
    
    slowlog-log-slower-than 1000
    slowlog-max-len 1000
    
    
    latency-monitor-threshold 0
    
    
    notify-keyspace-events ""
    
    
    hash-max-ziplist-entries 512
    hash-max-ziplist-value 64
    list-max-ziplist-entries 512
    list-max-ziplist-value 64
    set-max-intset-entries 512
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    hll-sparse-max-bytes 3000
    
    activerehashing yes
    client-output-buffer-limit normal 0 0 0
    client-output-buffer-limit slave 256mb 64mb 60
    client-output-buffer-limit pubsub 32mb 8mb 60
    
    hz 10
    aof-rewrite-incremental-fsync yes
    

     

    2,slave2(6381.conf)上面的配置文件

    daemonize yes
    pidfile /usr/local/redis/logs/redis_6381.pid
    port 6381
    tcp-backlog 1024
    bind 0.0.0.0 
    timeout 0
    tcp-keepalive 60
    loglevel notice
    logfile "/usr/local/redis/logs/redis_6381.log"
    
    
    
    databases 16
    
    
    save ""
    #save 900 1  
    #save 300 10  
    #save 60 10000  
    
    stop-writes-on-bgsave-error yes
    
    rdbcompression yes
    rdbchecksum yes
    
    dbfilename dump.rdb
    dir /usr/local/redis/data/
    
    
    slaveof 10.211.55.7 6379
    
    #如果做故障切换,不论主从节点都要填写密码且要保持一致
    masterauth linlin
    
    
    slave-serve-stale-data yes
    slave-read-only yes
    repl-disable-tcp-nodelay no
    slave-priority 100
    
    
    
    requirepass linlin
    
    
    appendonly yes
    appendfilename "appendonly.aof"
    # appendfsync always  
    appendfsync everysec
    # appendfsync no  
    no-appendfsync-on-rewrite no
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    aof-load-truncated yes
    
    
    lua-time-limit 5000
    
    
    slowlog-log-slower-than 1000
    slowlog-max-len 1000
    
    
    latency-monitor-threshold 0
    
    
    notify-keyspace-events ""
    
    
    hash-max-ziplist-entries 512
    hash-max-ziplist-value 64
    list-max-ziplist-entries 512
    list-max-ziplist-value 64
    set-max-intset-entries 512
    zset-max-ziplist-entries 128
    zset-max-ziplist-value 64
    hll-sparse-max-bytes 3000
    
    activerehashing yes
    client-output-buffer-limit normal 0 0 0
    client-output-buffer-limit slave 256mb 64mb 60
    client-output-buffer-limit pubsub 32mb 8mb 60
    
    hz 10
    aof-rewrite-incremental-fsync ye
    

      

    二,具体搭建过程(上述配置可以直接用于redis-sentinel集群使用)

    1,搭建redis master

    cd /usr/local/src

    wget http://download.redis.io/releases/redis-3.0.7.tar.gz

    tar -zxvf redis-3.0.7.tar.gz

    cd redis-3.0.7

    make

    make PREFIX=/usr/local/redis-3.0.7 install


    ln -s /usr/local/redis-3.0.7 /usr/local/redis



    mkdir -p /usr/local/redis/conf

    cp redis.conf /usr/local/redis/conf/6379.conf  (这里可以直接用上面的master配置文件)

    mkdir -p /usr/local/redis/data

    mkdir -p /usr/local/redis/logs



    注:

    #为防止启动redis的时候,有警告信息,所以提前修改参数。

    echo 'net.core.somaxconn= 2048' >> /etc/sysctl.conf

    #这个配置和tcp-backlog有联系,但是tcp-backlog不能大于它。


    echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    sysctl -p


    echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local

    上述master端安装完毕,启动master端。

    cd /usr/local/redis/bin/  

    ./redis-server ../conf/6379.conf 

    2, master安装完成后,安装slave1端,我这里有2个slave端,基本上和master配置一样。slave端有明确的slave of master_ip master_port配置。

    cd /usr/local/redis/conf

    touch 6380.conf  ,可以直接使用上slave1上的配置内容.

    启动redis salve1节点。

    cd /usr/local/redis/bin

    ./redis-server ../conf/6380.conf 

    3, 安装slave2,操作一样,省略..

    cd cd /usr/local/redis/bin

    ./redis-server ../conf/6381.conf

    4,基本上,redis主从搭建完毕,确认一下主从同步是否成功。

     设置key,查看是否获取成功。

     

    以上,表示redis主从搭建完毕。 

  • 相关阅读:
    如何高效处理bug?
    如何获取字符串函数的实现?
    数据处理-csv,pandas
    CentOS 下安装SAC(Seismic Analysis Code)
    CentOS安装使用ffmpeg
    Tensorflow问题记录 --pydot Failed to import pydot. You must install pydot and graphviz for pydotprint to work
    Tensorflow学习记录 --TensorFlow高效读取数据tfrecord
    Committee to boost development of Chinese language teachers
    Consensus-based decentralized auctions for robust task allocation
    Chinese market critical to US firms: US-China Business Council
  • 原文地址:https://www.cnblogs.com/lin1/p/10403333.html
Copyright © 2020-2023  润新知