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

    redis搭建主从

    条件:yum安装(3.2.1)与编译安装(5.0.0)都可以

    环境:我这里在同一台主机上搭建,当然也可以两台。

    1) 复制redis.conf的主配置文件并命令为slave.conf

    2)配置slave.conf

    bind 192.168.253.153(主节点ip一致)

    slaveof 192.168.253.153   6379    (主节点的ip与端口)

    port  6389 (自定义)

    3)重启服务

    redis-server  文件名(如果不在目录下,就需要带上目录)

    4)测试

    进入主从节点的redis数据库中,在主节点上添加等操作,如果从节点能够读出来,说明配置成功。

    redis-cli  -p 6379 -h 192.168.253.10

    redis-cli  -p 6389 -h 192.168.253.10            #配置的端口和ip

     redis集群

    环境:两台主机(一台3个主节点,一台三个从节点) 或者一台主机(3台主节点,3台从节点)

    条件:编译安装,yum安装的如果时3.2版本或者更早之前很可能会行不通,报错:

    Unrecognized option or bad number of args for: '--cluster'                #此错误原因为参数错误或者缺少redis cluster

    我这里选择一台主机配置集群:

    1)创建一个conf目录

    mkdir conf

    2)创建6个.conf结尾的文件

    touch {7000,7001,7002,7003,7004,7005}.conf

    3)添加配置内容

    port 7000       #绑定端口
    bind 192.168.253.135  #绑定对外连接提供的ip
    daemonize yes           #开启守护进程
    pidfile 7000.pid          #进程文件名
    cluster-enabled yes    #是否是集群
    cluster-config-file 7000_node.conf    #集群配置文件
    cluster-node-timeout 15000             #集群连接超时时间
    appendonly yes                    #数据持久化类型

    不同配置文件之间只需更改:port  ;pidfile  ;cluster-config-file(如果是不同主机上配置,bind也需更改)

    4)写一个执行脚本:

    #!/bin/bash
    for i in `seq 0 5`
    do
            redis-server 700$i.conf
    done

    bash a.sh来开启服务

    ps -ef | grep redis 来查看是否开启服务

    5)早版本需要安装ivm和ruby来做集群操作,现在我们只需要执行以下命令:

    redis-cli --cluster create 192.168.253.153:7000 192.168.253.153:7001 192.168.253.153:7002 192.168.253.153:7003 192.168.253.153:7004 192.168.253.153:7005 --cluster-replicas 1

    出现以下内容后yes确认接受。

    6)测试

    进入数据库:redis-cli  -p7000 -c -h 192.168.253.153

    每一次更改等操作会跳转节点,主节点如果宕机,会由其他两个节点从从节点中选一个来顶替。

    拓展:2)、3)、4)步可以通过以下脚本来实现:

    #!/bin/bash
    for i in `seq 7000 7005`
    do
            touch "$i".conf
            echo -e " port "$i"
    bind 192.168.253.153
    daemonize yes 
    pidfile "$i".pid
    cluster-enabled yes
    cluster-config-file "$i"_node.conf
    cluster-node-timeout 15000
    appendonly yes" > "$i".conf
            redis-server "$i".conf
    done
  • 相关阅读:
    【学习笔记】数据库设计那些事
    django rest-farme-work 的使用(3)
    django rest-farme-work 的使用(2)
    docker 的安装
    中国电信线CTF线下选拨writeup
    django rest-farme-work 的使用(1)
    谈谈python里面关于任务队列
    kubernetes 部署
    凯撒密码的加密解密
    Linux 密码的暴力破解
  • 原文地址:https://www.cnblogs.com/zzzynx/p/10879392.html
Copyright © 2011-2022 走看看