热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

REDIS主从搭建

篇首语:本文由编程笔记#小编为大家整理,主要介绍了REDIS主从搭建相关的知识,希望对你有一定的参考价值。一、搭建主从配置

篇首语:本文由编程笔记#小编为大家整理,主要介绍了REDIS主从搭建相关的知识,希望对你有一定的参考价值。



一、搭建主从配置


  1. 这里在一台机器上采用伪分布式的方式部署(生产环境应该是多台机器)

  2. 安装redis5.0以上

    mkdir redis-master redis-slave1 redis-slave2
    tar -zxvf redis-5.0.10.tar.gz
    cd redis-5.0.10
    make install PREFIX=/usr/local/redis-ms/redis-master/
    cp redis.conf /usr/local/redis-ms/redis-master/bin/

    问题1:gcc:命令未找到

    yum -y install gcc automake autoconf libtool make

    问题2:致命错误:jemalloc/jemalloc.h:没有那个文件或。。。

    make MALLOC=libc

  3. 修改redis.conf

    # 将`daemonize`由`no`改为`yes`
    daemonize yes
    # 默认绑定的是回环地址,默认不能被其他机器访问
    # bind 127.0.0.1
    # 是否开启保护模式,由yes该为no
    protected-mode no
    #有密码的话
    requirepass 123456
    masterauth 123456

  4. 复制master到slave

    cp -r redis-master/* /usr/local/redis-ms/redis-slave1
    cp -r redis-master/* /usr/local/redis-ms/redis-slave2

    修改slave1的redis.conf

    #port改为6380,并加上replicaof 127.0.0.1 6379
    port 6380
    replicaof 127.0.0.1 6379

    修改slave2的redis.conf

    #port改为6381,并加上replicaof 127.0.0.1 6379
    port 6381
    replicaof 127.0.0.1 6379

  5. 启动

    cd redis-master/bin/
    ./redis-server redis.conf
    cd ../../redis-slave1/bin/
    ./redis-server redis.conf
    cd ../../redis-slave2/bin/
    ./redis-server redis.conf

  6. 测试
    在master插入数据

    cd ../../redis-master/bin
    ./redis-cli
    127.0.0.1:6379> set name Tom

    在slave里检验是否同步

    cd /usr/local/redis-ms/redis-slave1/bin
    ./redis-cli -p 6380
    127.0.0.1:6380> get name


二、哨兵模式


  1. kill上一步已启动的reids
  2. 创建三个sentinel

    cd /usr/local/redis-ms
    mkdir redis-sentinel1 redis-sentinel2 redis-sentinel3

  3. 复制及配置

    cp -r redis-master/* /usr/local/redis-ms/redis-sentinel1
    cp redis-5.0.10/sentinel.conf redis-sentinel1/bin/
    cd redis-sentinel1/bin/
    vim sentinel.conf
    修改配置文件
    这里修改 daemonize 为 yes
    修改sentinel down-after-milliseconds mymaster 30000 改为 3000
    其它的可以不用改
    有密码的话:
    sentinel auth-pass mymaster 123456
    注意位置,要在sentinel monitor mymaster 127.0.0.1 6379 2后面



sentinel down-after-milliseconds mymaster 3000 : 指定多少毫秒之后
主节点没有应答哨兵sentinel 此时 哨兵主观上认为主节点下线 默认30秒,改成3秒



  1. 复制sentinel1到sentinel2和3

    cp -r redis-sentinel1/* redis-sentinel2
    cd redis-sentinel2/bin/
    vim sentinel.conf
    #修改port为26380
    port 26380
    cd ../../
    cp -r redis-sentinel1/* redis-sentinel3
    cd redis-sentinel3/bin/
    vim sentinel.conf
    #修改port为26381
    port 26381

  2. 启动
    依次启动
    redis-master、redis-slaver1、redis-slaver2、
    redis-sentinel1、redis-sentinel2、redis-sentinel3

    #启动redis-master和redis-slaver
    #在redis-master目录下
    ./redis-server redis.conf
    #在redis-slaver1目录下
    ./redis-server redis.conf
    #在redis-slaver2目录下
    ./redis-server redis.conf
    #启动redis-sentinel
    #在redis-sentinel1目录下
    ./redis-sentinel sentinel.conf
    #在redis-sentinel2目录下
    ./redis-sentinel sentinel.conf
    #在redis-sentinel3目录下
    ./redis-sentinel sentinel.conf


推荐阅读
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍了如何在Debian系统中正确配置Locale,以确保多语言支持和避免常见的警告信息。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 随着Redis功能的不断增强和稳定性提升,其应用范围日益广泛,成为软件开发人员不可或缺的技能之一。本文将深入探讨Redis集群的部署与优化,包括主从备份机制、哨兵模式以及集群功能,帮助读者全面理解并掌握Redis集群的应用。 ... [详细]
  • 本文详细介绍了如何规划和部署一个高可用的Etcd集群,包括主机配置、软件安装、防火墙设置及集群健康检查等内容。通过合理的硬件配置和网络规划,确保Etcd集群在生产环境中的稳定运行。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • 本文介绍了如何通过配置 Android Studio 和 Gradle 来显著提高构建性能,涵盖内存分配优化、并行构建和性能分析等实用技巧。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • CentOS系统安装与配置常见问题及解决方案
    本文详细介绍了在CentOS系统安装过程中遇到的常见问题及其解决方案,包括Vi编辑器的操作、图形界面的安装、网络连接故障排除等。通过本文,读者可以更好地理解和解决这些常见问题。 ... [详细]
  • 如何在Linux中实现字符设备控制
    本文详细探讨了在Linux环境下控制字符设备的方法,包括蜂鸣器和模数转换器(ADC)的实际操作案例。对于开发者来说,了解这些基础知识对于嵌入式系统的开发尤为重要。 ... [详细]
author-avatar
抵达不了了的叫幸福_999
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有