redis环境搭建及一主二从三哨兵模式配置
一、单机redis环境搭建
1.安装:
OS:linux redhat6.5
下载redis 官网下载链接:https://redis.io/download
把安装包上传到服务器,进行解压
[root@master redis]# tar -xvf redis-5.0.4.tar.gz
[root@master redis]# cd redis-5.0.4
[root@master redis-5.0.4]# ls
00-RELEASENOTES BUGS COPYING deps INSTALL Makefile README.md runtest-cluster sentinel.conf tests
CONTRIBUTING MANIFESTO runtest runtest-sentinel src utils
2.安装gcc,如果未安装gcc的话需要安装gcc环境
[root@master redis-5.0.4]# yum -y install gcc*
3.进入redis-5.0.4目录对解压后的文件进行编译、安装
[root@master redis]# cd redis-5.0. [root@master redis-5.0.]#make //进行编译 [root@master redis-5.0.]#cd src/ //进入src目录下 [root@master src]# make install //安装redis
4.为了便于管理,在redis-5.0.4下创建bin,log,data,etc等四个目录
[root@master redis-5.0.]# mkdir bin [root@master redis-5.0.]#mkdir etc [root@master redis-5.0.]#mkdir data [root@master redis-5.0.]#mkdir log [root@master redis-5.0.]#ls
-RELEASENOTES BUGS COPYING deps INSTALL Makefile README.md runtest-cluster sentinel.conf tests
bin CONTRIBUTING data etc log MANIFESTO runtest runtest-sentinel src [root@master redis-5.0.]#mv redis.conf etc/ //将redis-5.0.4目录下的 redis.conf 移动到 redis-5.0.4目录下的etc文件夹下
[root@master redis-5.0.]#mv src/mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server redis-sentinel bin/
//将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服务
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#bind 127.0.0.1 //绑定的主机,注释掉后允许所有主机登陆 protected-mode no //关闭保护模式 port //端口,默认为6379 daemonize yes //开启后台运行模式 logfile "/backup2/redis/redis-5.0.4/log/redis.log" //redis日志文件路径 dir "/backup2/redis/redis-5.0.4/data" //持久化数据文件路径 requirepass "password" //登陆redis数据库的密码认证
masterauth "password" //哨兵模式中设定主库密码与当前库密码同步,保证从库能够提升为主库 appendonly yes //开启AOF持久化模式
进入bin目录下
[root@master bin]# ./redis-server ../etc/redis.conf //使用编辑好的配置文件启动redis
[root@master bin]# ./redis-cli //启动redis客户端
127.0.0.1:> ping
(error) NOAUTH Authentication required.
127.0.0.1:> auth password //该密码为配置文件中设定的密码
OK
127.0.0.1:> ping
PONG
127.0.0.1:> //如上输出即表示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配置文件
//在redis.conf所在目录下新建一个sentinel.conf文件 [root@master etc]# vi sentinel.conf protected-mode no //关闭保护模式 port //默认端口 daemonize yes //允许后台运行 pidfile "/var/run/redis-sentinel.pid" //pid文件 默认就好
logfile "/backup2/redis/redis-5.0.4/log/sentinel.log" //sentinel日志文件 sentinel announce-ip 192.168.1.1 //设置本机ip #master
sentinel monitor mymaster 192.168.1.1
sentinel down-after-milliseconds mymaster1
sentinel parallel-syncs mymaster
sentinel failover-timeout mymaster
sentinel auth-pass mymaster1 yourpasswd
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的启动顺序
[root@master bin]# ./redis-server ../etc/redis.conf //在每个节点执行该命令启动redis root@master bin]# ./redis-sentinel ../etc/sentinel.conf //启动sentinel //启动后在主节点连接到主节点 127.0.0.1:> info replication
# Replication
role:master //角色
connected_slaves: //节点个数
slave0:ip=192.168.1.2,port=,state=online,offset=,lag= //从节点信息
slave1:ip=192.168.1.3,port=,state=online,offset=,lag= //从节点信息
master_replid:27663ab908f4a8bfd198cd7ec3db924bee4fa441
master_replid2:
master_repl_offset:
second_repl_offset:-
repl_backlog_active:
repl_backlog_size:
repl_backlog_first_byte_offset:
repl_backlog_histlen: //连接到从节点
127.0.0.1:> info replication
# Replication
role:slave
master_host:192.168.1.1
master_port:
master_link_status:up //主节点状态 up/down
master_last_io_seconds_ago:
master_sync_in_progress:
slave_repl_offset:
slave_priority:
slave_read_only:
connected_slaves:
master_replid:af5dd7a6f5e2093bbe8f01923fcfe0ed7fc8ba14
master_replid2:
master_repl_offset:
second_repl_offset:-
repl_backlog_active:
repl_backlog_size:
repl_backlog_first_byte_offset:
repl_backlog_histlen:
127.0.0.1:>
启动哨兵:[root@test bin]# ./redis-sentinel ../etc/sentinel.conf
[root@master bin]#./redis-cli -h 192.168.1.1 -p
10.197.11.159:> info sentinel
# Sentinel
sentinel_masters:
sentinel_tilt:
sentinel_running_scripts:
sentinel_scripts_queue_length:
sentinel_simulate_failure_flags:
master0:name=mymaster,status=ok,address=192.168.1.1:,slaves=,sentinels=
//以上表示哨兵模式集群正常
至此,redis的一主二从三哨兵架构搭建完成。
redis环境搭建及一主二从三哨兵模式配置的更多相关文章
- docker-compose一键部署redis一主二从三哨兵模式(含密码,数据持久化)
本篇基于centos7服务器进行部署开发 一.拉取redis镜像,使用如下命令 docker pull redis 1.查看镜像是否拉取成功,使用如下命令 docker images 显示如下则证明拉 ...
- redis 的一主二从三哨兵模式
概述 在部署redis 的时候,如果redis宕机,缓存将不可用,redis提供了哨兵模式保证redis实现高可用. 即一台主机两台从机,三台哨兵主机,如果主实例宕机,哨兵将将一台从机升级为主机.实现 ...
- springboot 集成Redis一主二从三哨兵
1.Centos7 Redis一主二从三哨兵配置 Redis一主二从三哨兵环境搭建 2.接入过程 与集成redis单机不同的是jedis相关的配置做了修改,JedisPool换成了JedisSenti ...
- 【运维技术】redis(一主两从三哨兵模式搭建)记录
redis(一主两从三哨兵模式搭建)记录 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也包含我自己,能够节省对应的时间. 软件架构: 生产环境使用三台 ...
- redis 一主二从三哨兵
总体部署 一主二从三哨兵 ip地址分配分别为 主 127.0.0.1:6379 从 127.0.0.1:6389 从 127.0.0.1:6399 哨兵 127.0.0.1:26379 哨兵 127. ...
- docker compose搭建redis7.0.4高可用一主二从三哨兵集群并整合SpringBoot【图文完整版】
一.前言 redis在我们企业级开发中是很常见的,但是单个redis不能保证我们的稳定使用,所以我们要建立一个集群. redis有两种高可用的方案: High availability with Re ...
- redis一主二从三哨兵
redis做集群的时候有很多种配置方法,一主二从三哨兵这种模式是官网推荐的.,写配置文件链接的时候,写的是哨兵地址,不是IP,用户名,密码之类的. 一主二从很好理解,一个主的redis,实时备份到两个 ...
- linux 下Redis 5.0主从复制(一主二从)哨兵模式的搭建
文档结构如下: 一.环境说明: 作用 IP地址 端口 操作系统版本 安装目录 哨兵文件 主库 172.16.10.80 6379 Redhat 6.7 /redis5.0/redis-5.0.0 Se ...
- redis(一主两从三哨兵模式搭建)记录
转自:http://www.cnblogs.com/fly-piglet/p/9836314.html 目的: 让看看这篇文章的的人能够知道:软件架构.软件的安装.配置.基本运维的操作.高可用测试.也 ...
随机推荐
- Euler characteristic
Euler characteristic Euler定理 顶点(v),棱数(edge)(e),面(J) 尽管我们有四个不同的四面体,但是如果我们将顶点数\((v)\)减去棱数\((e)\)再加上四面体 ...
- ESTScan|EORF|Augustus|nr|PSM|
生物信息学方法的目的有二:1.常规找鉴定已知蛋白2.鉴定新蛋白 控制数据库大小可以通过增多酶切使得大数据库灵敏性增高数据量变小: 分步搜索是对于经典方法使用后找不到的新蛋白进行补充挖掘,预测蛋白与高可 ...
- Android7.0 USBCamera设备/dev/video0无读权限
Android7.0的系统,具备root权限,执行 # adb shell # su # chmod 777 /dev/video0 在5.0的系统中可以预览图像,7.0返回无读权限 File fil ...
- leetcode第23题:合并K个排序链表
首先我想到的是采用一般递归法,将K个链表合并化为(k-1)两个链表合并 class Solution: def mergeKLists(self, lists: List[ListNode]) -&g ...
- 《自动化平台测试开发-Python测试开发实战》新书出版了
首先 第一本书,当初在百度阅读初步写了个电子版,刚一上线不久即收到了数百位读者朋友阅读收藏购买,于是顺利成章就出版了纸质书. <软件自动化测试开发>认真看过的读者应该都知道,介绍的主要是自 ...
- 吴裕雄--天生自然KITTEN编程:逃脱升天
- 一月七笔千万美元投资!国内VR行业在刮什么风?
虽然直到现在仍然没有一款真正能够彻底普及并改变大众操控方式的虚拟现实设备出现,但其已经被认定是未来人类社会中不可或缺的重要组成部分和工作.生活.娱乐.休闲载体.而虚拟现实设备.内容在今年年初CES展会 ...
- Linux USB 鼠标驱动程序详解(转)
Linux USB 鼠标驱动程序详解 USB 总线引出两个重要的链表!一个 USB 总线引出两个重要的链表,一个为 USB 设备链表,一个为 USB 驱动链表.设备链表包含各种系统中的 USB 设备以 ...
- 从iPhone下滑 看科技转型之困
看科技转型之困" title="从iPhone下滑 看科技转型之困"> 毫无疑问,苹果正在面临一次关键转型.最近苹果股价较高点134.54美元下跌21%以上的实事, ...
- 深度学习论文笔记:Fast R-CNN
知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...