redis介绍及主从配置

redis介绍及主从配置

本文主要包含两个部分:简单介绍下什么是redis、redis主从配置及基于sentinel实现redis集群故障自动切换。

redis基于内存亦可持久化的日志型、Key-Value数据库,目前接触到redis主要应用在session缓存方面。

一、系统环境

平台:Centos7.0_x86_64

主机:192.168.115.11、192.168.115.12、192.168.115.12

规划:11为master节点,12、13为slave节点

二、安装redis

1.软件安装

软件包:redis-2.6.4.tar.gz

tar  -zxvf  redis-2.6.4.tar.gz

cd redis-2.6.4

make PREFIX=/usr/local/redis install或者使用该命令指定安装路径

2.创建相关目录

mkdir  -pv  /usr/local/redis/{logs,var,etc}

mkdir  -pv  /data/redis

3.安装完bin下二进制文件介绍

redis-server:               #redis服务器的daemon启动程序

redis-cli:                      #redis命令行操作工具

redis-check-dump:   #用于检查本地数据库的rdb文件

redis-check-aof:       #对更新日志appendonly.aof检查,是否可用

redis-benchmark:    #redis性能测试工具,可以测试在本系统本配置下的读写性能

4.修改配置文件,修改如下几项

vi  /usr/local/redis/etc/redis.conf

daemonize yes                                          #以守护进程方式启动redis

pidfile /usr/local/redis/var/redis.pid    #pid文件存放位置

logfile /usr/local/redis/logs/redis.log   #日志文件存放路径

dir /data/redis                                          #数据文件路径

5.启动redis服务

/usr/local/redis/bin/redis-server  /usr/local/redis/etc/redis.conf

6.查看redis启动进程

7.查看日志发现如下提示信息

tail /usr/local/redis/logs/redis.log

添加以下信息

echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf

sysctl  -p

8.为redis提供启动脚本

cp  /root/redis-2.6.4/utils/redis_init_script  /etc/init.d/redis

修改文件

添加如下一行

# chkconfig: 2345 80 90

以下内容根据实际情况做修改

EXEC=/usr/local/redis/bin/redis-server

CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/usr/local/redis/var/redis.pid

CONF="/usr/local/redis/etc/redis.conf"

chkconfig --add redis

service redis start

三、主从配置

1.在从节点上修改如下配置

slaveof 192.168.115.11 6379

2.启动服务

3.在主节点上写入一条数据

4.在从节点上查看

测试数据正常同步

从节上日志信息

四、redis集群故障自动切换

1. Sentinel介绍

Sentinel 系统用于管理多个 Redis 服务器(instance),该系统执行以下三个任务:

监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。

提醒(Notification):当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。

自动故障迁移(Automatic failover):当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作,它会将失效主服务器的其中一个从服务器升级为新的主服务器,并让失效主服务器的其他从服务器改为复制新的主服务器;当客户端试图连接失效的主服务器时,集群也会向客户端返回新主服务器的地址,使得集群可以使用新主服务器代替失效服务器。

2.sentinel配置文件

/usr/local/redis/etc/sentinel.conf

port 26379

sentinel monitor mymaster 192.168.115.11 6379 2     #定义了监听的主服务器ip及端口,集群中的票数该值不大于集群中slave的个数

sentinel down-after-milliseconds mymaster 30000      #默认master失效时长

sentinel can-failover mymaster yes                                 #是否允许实施“failover”(故障转移),即当master挂了slave提升为master

sentinel parallel-syncs mymaster 1

sentinel failover-timeout mymaster 900000

3.启动sentinel

在3台服务器上启动服务

/usr/local/redis/bin/redis-server /usr/local/redis/etc/sentinel.conf –sentinel &

查看服务监听端口号

在主服务器上查看当前服务器主从角色

/usr/local/redis/bin/redis-cli -h 192.168.115.11 -p 6379 info Replication

在从服务器上查看当前服务器角色

/usr/local/redis/bin/redis-cli -h 192.168.115.12 -p 6379 info Replication

4.模拟故障转移

关闭主服务器redis进程,此时从服务器在重新选举主服务器,从服务器上优先级低的会被选举会master

在从12上

在从13上

此时12已经成为新的master

时间: 2024-08-01 00:44:18

redis介绍及主从配置的相关文章

redis介绍、主从配置

NoSQL之redis介绍: remote rerictionry server 是一个基于key-value键值对的持久化数据库存储系统,redis和memcached缓存服务很像. 但是redis支持的数据存储类型更丰富,包括string.list.set.和zset等,这些数据类型都支持push/pop.add/remove 及取交集.并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序. 与memcached缓存服务一样,为了保证效率,数据都是

Redis安装、主从配置及两种高可用集群搭建

Redis安装.主从配置及两种高可用集群搭建 一.            准备 Kali Linux虚拟机 三台:192.168.154.129.192.168.154.130.192.168.154.131 用户名/密码:root/... ssh设置 修改sshd_config文件,命令为:vim /etc/ssh/sshd_config 将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //kali中默认是yes 将PermitRootLogin wi

Redis安装及主从配置

1.编译环境准备 1.1环境确认 Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.所以在搭建Redis服务器时需要C语言的编译环境gcc或g++. 首先确认系统中是否存在C语言的编译环境,终端运行如下命令: #gcc –version 或 #g++ --version 如果出现如下字样则表示系统中存在C语言的编译环境,不需要安装. gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44) Copyright (C) 2006 Fre

Redis安装及主从配置(转)

一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入

Redis 安装,主从配置及Sentinel配置自动Failover

1.安装redis 首页地址:http://redis.io/ 下载地址:http://download.redis.io/ 下载最新的源码包 wget http://download.redis.io/releases/redis-2.6.16.tar.gz tar -zxvf redis-stable.tar.gz -C /usr/local/ cd /usr/local/redis-stable/ make MALLOC=libc make install 2.运行 加载配置文件并后台运行

StackExchange.Redis客户端读写主从配置,以及哨兵配置。

今天简单分享一下StackExchange.Redis客户端中配置主从分离以及哨兵的配置. 关于哨兵如果有不了解的朋友,可以看我之前的一篇分享,当然主从复制文章也可以找到.http://www.cnblogs.com/tdws/tag/NoSql/ 为什么要有这篇分享呢,是因为我之前也有一些疑问,相信学习Redis的朋友都有过相同的疑问. 在代码中,如何分别操作主从数据库?,也就是说,如何只向主数据库写,而读取只向从服务器读.我目前给出的解决方案就是有关Set命令使用主服务器地址,关于Get的命

Redis安装、主从配置及aof使用

找了02,03,04三台机器,04做主,02做从,03做客户端. 都使用jumbo install redis安装了Redis(server+client). 在 02 从的 ~/.jumbo/etc/redis.conf 里 slaveof <masterip> 6379 在04 主的 ~/.jumbo/etc/redis.conf 里 appendonly yes appendfsync everysec 主从都要改: daemonize yes logfile "/home/w

docker Redis的主从配置

redis是k-v型nosql数据库,支持字符串(string).列表(list).集合(set).散列(hash).有序集合(zset:形如member:score的散列集合,其中member为成员,score为成员得分,必须为float型数据). 综合使用redis的以上5种数据类型,可以将redis应用于各种场景,比如点赞.投票网站.消息队列.分布式锁(使用setnx指令,该指令只有在key不存在的时候,才会执行写入操作).文件分发(没研究过).日志记录等等. redis支持主从配置(拓展

Redis的安装及配置

Redis安装及主从配置 一.何为Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据