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

Redis部署docker离线方式

redisdocker部署dockerpullregistry.docker-cn.comlibraryredisdocker-compose.ymlversion:2servic

redis docker部署

docker pull registry.docker-cn.com/library/redis
docker-compose.yml
version: '2'
services:
   redis:
      image: redis:latest
      container_name: redis
      restart: always
      ports:
        - 3308:6379
      volumes:
        - /data/home/redis/config/redis.conf:/usr/local/etc/redis/redis.conf
        - /data/home/redis/data:/data
      command: redis-server /usr/local/etc/redis/redis.conf

离线部署redis

【准备】
1.Centos7.x系统
2.安装gcc
3.redis安装包

【防火墙配置】

查看防火墙状态

firewall-cmd --state

停止firewall

systemctl stop firewalld.service

禁止firewall开机启动

systemctl disable firewalld.service 


关闭selinux 
进入到/etc/selinux/config文件

vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled



【安装】
tar -zxvf redis-5.0.5.tar.gz
编译
make
安装
make PREFIX=/usr/local/redis install    


在/usr/local/redis/下创建redis.conf和sentinel.conf文件

主:redis.conf
port 6379
bind 192.168.18.190  #本机ip
requirepass "myredis"   #认证密码
daemonize yes   #支持后台运行,默认值为no
logfile "6379.log"   #日志文件
dbfilename "dump-6379.rdb"  #数据库文件
dir "./"  

#如若master设置了认证密码,那么所有redis数据节点都配置上masterauth属性


从:redis.conf
port 6379
bind 192.168.18.191
requirepass "myredis"  #认证密码
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "./"
#如若master设置了认证密码,那么所有redis数据节点都配置上masterauth属性
masterauth "myredis"  #主库密码
slaveof 192.168.18.190 6379

【sentinel】
port 26379
#开启守护进程
daemonize yes
dir "/tmp"  #Sentinel服务运行时使用的临时文件夹
#指定日志文件存放位置
logfile "26379.log"
#指定主的IP 端口 “2”代表有两个哨兵进程发现主服务器宕机便选取一个从服务器为主
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.18.190 6379 2   #主master
#redis数据master节点设置了认证,则需要如下配置
sentinel auth-pass mymaster myredis               #认证密码
sentinel down-after-milliseconds mymaster 30000
sentinel config-epoch mymaster 1
sentinel failover-timeout mymaster 180000



【配置文件说明:】
1. port :当前Sentinel服务运行的端口

2. dir : Sentinel服务运行时使用的临时文件夹

3.sentinel monitor master001 192.168.110.101 6379 2:Sentinel去监视一个名为master001的主redis实例,这个主实例的IP地址为本机地址192.168.110.101,端口号为6379,而将这个主实例判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行

4.sentinel down-after-milliseconds master001 30000:指定了Sentinel认为Redis实例已经失效所需的毫秒数。当实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行

5.sentinel parallel-syncs master001 1:指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长

6.sentinel failover-timeout master001 180000:如果在该时间(ms)内未能完成failover操作,则认为该failover失败

7.sentinel notification-script  :指定sentinel检测到该监控的redis实例指向的实例异常时,调用的报警脚本。该配置项可选,但是很常用


redis-cli -h 192.168.18.190 -p 6379 -a 123456 info replication
redis-cli -h 192.168.18.191 -p 6379 -a 123456 info replication
redis-cli -h 192.168.18.191 -p 6379 -a 123456 info replication
redis-server /etc/redis/6379.conf 	
redis-server /etc/redis/6379.conf #启动redis
redis-cli -h 192.168.18.190 -p 6379 -a 123456 shutdown  #关闭redis



【连接】
redis-cli -h 192.168.18.190 -p 6379 -a myredis
【关闭】 
redis-cli -h 192.168.18.190 -p 6379 -a myredis shutdown


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • C语言标准及其GCC编译器版本
    编程语言的发展离不开持续的维护和更新。本文将探讨C语言的标准演变以及GCC编译器如何支持这些标准,确保其与时俱进,满足现代开发需求。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 深入理解动态链接库及其应用
    本文将探讨动态链接库的基本概念,包括Windows下的动态链接库(DLL)和Linux下的共享库(Shared Library),并详细介绍如何在Linux环境中创建和使用这些库。 ... [详细]
author-avatar
木子小平方_530
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有