一、单机redis环境搭建

1.安装:

OS:linux redhat6.5

下载redis 官网下载链接:https://redis.io/download

把安装包上传到服务器,进行解压

  1. [root@master redis]# tar -xvf redis-5.0.4.tar.gz
  2. [root@master redis]# cd redis-5.0.4
  3. [root@master redis-5.0.4]# ls
  4. 00-RELEASENOTES BUGS COPYING deps INSTALL Makefile README.md runtest-cluster sentinel.conf tests
  5. CONTRIBUTING MANIFESTO runtest runtest-sentinel src utils

2.安装gcc,如果未安装gcc的话需要安装gcc环境

  1. [root@master redis-5.0.4]# yum -y install gcc*

3.进入redis-5.0.4目录对解压后的文件进行编译、安装

  1. [root@master redis]# cd redis-5.0.
  2.  
  3. [root@master redis-5.0.]#make //进行编译
  4.  
  5. [root@master redis-5.0.]#cd src/ //进入src目录下
  6.  
  7. [root@master src]# make install //安装redis

4.为了便于管理,在redis-5.0.4下创建bin,log,data,etc等四个目录

  1. [root@master redis-5.0.]# mkdir bin
  2.  
  3. [root@master redis-5.0.]#mkdir etc
  4.  
  5. [root@master redis-5.0.]#mkdir data
  6.  
  7. [root@master redis-5.0.]#mkdir log
  8.  
  9. [root@master redis-5.0.]#ls
  10. -RELEASENOTES BUGS COPYING deps INSTALL Makefile README.md runtest-cluster sentinel.conf tests
  11. bin CONTRIBUTING data etc log MANIFESTO runtest runtest-sentinel src
  12.  
  13. [root@master redis-5.0.]#mv redis.conf etc/ //将redis-5.0.4目录下的 redis.conf 移动到 redis-5.0.4目录下的etc文件夹下
  14. [root@master redis-5.0.]#mv src/mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-sentinel bin/
  15. //将mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server 、redis-sentinel移动到 /usr/local/redis-5.0.0/bin/ 目录下

5.进入redis-5.0.4/etc下修改redis.conf配置文件,然后启动redis服务

  1. # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
  2. # JUST COMMENT THE FOLLOWING LINE.
  3. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. #bind 127.0.0.1 //绑定的主机,注释掉后允许所有主机登陆
  5.  
  6. protected-mode no //关闭保护模式
  7.  
  8. port //端口,默认为6379
  9.  
  10. daemonize yes //开启后台运行模式
  11.  
  12. logfile "/backup2/redis/redis-5.0.4/log/redis.log" //redis日志文件路径
  13.  
  14. dir "/backup2/redis/redis-5.0.4/data" //持久化数据文件路径
  15.  
  16. requirepass "password" //登陆redis数据库的密码认证
  17. masterauth "password" //哨兵模式中设定主库密码与当前库密码同步,保证从库能够提升为主库
  18.  
  19. appendonly yes //开启AOF持久化模式

进入bin目录下

[root@master bin]# ./redis-server ../etc/redis.conf  //使用编辑好的配置文件启动redis

  1. [root@master bin]# ./redis-cli //启动redis客户端
  2. 127.0.0.1:> ping
  3. (error) NOAUTH Authentication required.
  4. 127.0.0.1:> auth password //该密码为配置文件中设定的密码
  5. OK
  6. 127.0.0.1:> ping
  7. PONG
  8. 127.0.0.1:>
  9.  
  10. //如上输出即表示redis启动成功

6.启动告警处理,在首次启动redis时 有可能会有以下告警:

告警:overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to/etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

解决办法:在/etc/sysctl.conf/文件中添加vm.overcommit_memory=1      sysctl -p 生效

二、哨兵模式配置

由于哨兵模式包含了简单的主从模式,所以主从模式不再进行单独说明,普通主从模式只是可以备份数据,在主机宕机并且数据文件损坏的情况下提供数据恢复,不能在主机挂掉之后主动升级为主节点,而哨兵模式就是通过哨兵对节点的监控,在主节点挂掉之后能通过投票的方式在从节点中选举一个升级为主节点。

软件架构:三台服务器:master,slave1,slave2,其中master为前面已经安装好的主机

1.修改sentinel配置文件

  1. //在redis.conf所在目录下新建一个sentinel.conf文件
  2.  
  3. [root@master etc]# vi sentinel.conf
  4.  
  5. protected-mode no //关闭保护模式
  6.  
  7. port //默认端口
  8.  
  9. daemonize yes //允许后台运行
  10.  
  11. pidfile "/var/run/redis-sentinel.pid" //pid文件 默认就好
  12. logfile "/backup2/redis/redis-5.0.4/log/sentinel.log" //sentinel日志文件
  13.  
  14. sentinel announce-ip 192.168.1.1 //设置本机ip
  15.  
  16. #master
  17. sentinel monitor mymaster 192.168.1.1
  18. sentinel down-after-milliseconds mymaster1
  19. sentinel parallel-syncs mymaster
  20. sentinel failover-timeout mymaster
  21. sentinel auth-pass mymaster1 yourpasswd
  22.  

2.把 redis-5.0.4目录整个打包并传到另外两台服务器,然后解压

在每台服务器上分别修改redis.conf,在配置文件中添加  slaveof 192.168.1.1 6379  //配置主从关系

修改sentinel.cong,把sentinel announce-ip 192.168.1.1  中的ip更换为本机ip,其余配置可不用更改。

3.启动集群服务,按照master->slave->sentinel的启动顺序

  1. [root@master bin]# ./redis-server ../etc/redis.conf //在每个节点执行该命令启动redis
  2.  
  3. root@master bin]# ./redis-sentinel ../etc/sentinel.conf //启动sentinel
  4.  
  5. //启动后在主节点连接到主节点
  6.  
  7. 127.0.0.1:> info replication
  8. # Replication
  9. role:master //角色
  10. connected_slaves: //节点个数
  11. slave0:ip=192.168.1.2,port=,state=online,offset=,lag= //从节点信息
  12. slave1:ip=192.168.1.3,port=,state=online,offset=,lag= //从节点信息
  13. master_replid:27663ab908f4a8bfd198cd7ec3db924bee4fa441
  14. master_replid2:
  15. master_repl_offset:
  16. second_repl_offset:-
  17. repl_backlog_active:
  18. repl_backlog_size:
  19. repl_backlog_first_byte_offset:
  20. repl_backlog_histlen:
  21.  
  22. //连接到从节点
  23. 127.0.0.1:> info replication
  24. # Replication
  25. role:slave
  26. master_host:192.168.1.1
  27. master_port:
  28. master_link_status:up //主节点状态 up/down
  29. master_last_io_seconds_ago:
  30. master_sync_in_progress:
  31. slave_repl_offset:
  32. slave_priority:
  33. slave_read_only:
  34. connected_slaves:
  35. master_replid:af5dd7a6f5e2093bbe8f01923fcfe0ed7fc8ba14
  36. master_replid2:
  37. master_repl_offset:
  38. second_repl_offset:-
  39. repl_backlog_active:
  40. repl_backlog_size:
  41. repl_backlog_first_byte_offset:
  42. repl_backlog_histlen:
  43. 127.0.0.1:>

启动哨兵:[root@test bin]# ./redis-sentinel ../etc/sentinel.conf

  1. [root@master bin]#./redis-cli -h 192.168.1.1 -p
  2. 10.197.11.159:> info sentinel
  3. # Sentinel
  4. sentinel_masters:
  5. sentinel_tilt:
  6. sentinel_running_scripts:
  7. sentinel_scripts_queue_length:
  8. sentinel_simulate_failure_flags:
  9. master0:name=mymaster,status=ok,address=192.168.1.1:,slaves=,sentinels=
  10. //以上表示哨兵模式集群正常

至此,redis的一主二从三哨兵架构搭建完成。

redis环境搭建及一主二从三哨兵模式配置的更多相关文章

  1. docker-compose一键部署redis一主二从三哨兵模式(含密码,数据持久化)

    本篇基于centos7服务器进行部署开发 一.拉取redis镜像,使用如下命令 docker pull redis 1.查看镜像是否拉取成功,使用如下命令 docker images 显示如下则证明拉 ...

  2. redis 的一主二从三哨兵模式

    概述 在部署redis 的时候,如果redis宕机,缓存将不可用,redis提供了哨兵模式保证redis实现高可用. 即一台主机两台从机,三台哨兵主机,如果主实例宕机,哨兵将将一台从机升级为主机.实现 ...

  3. springboot 集成Redis一主二从三哨兵

    1.Centos7 Redis一主二从三哨兵配置 Redis一主二从三哨兵环境搭建 2.接入过程 与集成redis单机不同的是jedis相关的配置做了修改,JedisPool换成了JedisSenti ...

  4. 【运维技术】redis(一主两从三哨兵模式搭建)记录

    redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...

  5. redis 一主二从三哨兵

    总体部署 一主二从三哨兵 ip地址分配分别为 主 127.0.0.1:6379 从 127.0.0.1:6389 从 127.0.0.1:6399 哨兵 127.0.0.1:26379 哨兵 127. ...

  6. docker compose搭建redis7.0.4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版】

    一.前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群. redis有两种高可用的方案: High availability with Re ...

  7. redis一主二从三哨兵

    redis做集群的时候有很多种配置方法,一主二从三哨兵这种模式是官网推荐的.,写配置文件链接的时候,写的是哨兵地址,不是IP,用户名,密码之类的. 一主二从很好理解,一个主的redis,实时备份到两个 ...

  8. linux 下Redis 5.0主从复制(一主二从)哨兵模式的搭建

    文档结构如下: 一.环境说明: 作用 IP地址 端口 操作系统版本 安装目录 哨兵文件 主库 172.16.10.80 6379 Redhat 6.7 /redis5.0/redis-5.0.0 Se ...

  9. redis(一主两从三哨兵模式搭建)记录

    转自:http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也 ...

随机推荐

  1. Box and Ball

    题目描述 We have N boxes, numbered 1 through N. At first, box 1 contains one red ball, and each of the o ...

  2. 3.redis kyes命令

    Keys命令 1.1设置key的生存时间 Redis在实际使用过程中更多的用作缓存,然而缓存的数据一般都是需要设置生存时间的,即:到期后数据销毁. EXPIRE key seconds         ...

  3. Fire-Fighting Hero(多源最短路和单源最短路)

    题:https://nanti.jisuanke.com/t/41349 分析:对于hero来说,走单源最短路,然后遍历dis数组中的最大值即可找到,对于消防员来说,走多源最短路,只需要建个超级起点连 ...

  4. java和javac命令

    记录一下,今天无意中用到单独编译和执行某个java类,遇到各种Error: Could not find or load main class等问题,解决方案如下其中2和3选其一试试~ 1.javac ...

  5. Python 装饰器 多装饰器同时装饰一个函数 多参数函数

    装饰器是在不修改源代码的情况下,使用装饰器增加原函数的功能. 在软件开发中有一个原则——"开放-封闭",简单地说就是已经实现的功能不允许被修改,但可以被扩展. 封闭:已经实现的功能 ...

  6. 吴裕雄--天生自然Android开发学习:Android studio 3.5安装详解

    3. 建立AVD(安卓虚拟设备) 点击右上角AVD Manager图标,单击按钮Create Virtual Device,选择Nexus 5X,下一步,选择版本9.0,Download,然后Next ...

  7. Django正向解析和反向解析

    转载:https://blog.csdn.net/jeekmary/article/details/79673867 先创建一个视图界面 urls.py index.html index页面加载的效果 ...

  8. 关于JavaScript中的==与!的转换问题

    最近遇到了一道很有趣的JavaScript试题,感觉很有趣.记录一下免得以后面试遇到 题目是: console.log([]==![],{}==!{},[]==!{},{}==![]) 这道题考察的主 ...

  9. 我的第一个Quartz代码

    创建Maven项目   打开Eclipse->File->Project->Maven ->Maven Project直接下一步输入Group Id和Artifact Id , ...

  10. 对H5新增多线程的理解与简单使用

    由于JavaScript的特性决定了JavaScript语言是一种单线程语言,但是有时候我们需要使用多线程比如进行大量的计算时.H5为此新增了多线程的方法. 在这里我是用JavaScript来实现著名 ...