Redis 可以实现主从配置和容灾部署,使得主机出现故障时,可自动进行容灾切换,下面就记录一下在一台服务器上的具体实现。
redis是一个开源的高性能key-value数据库,它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供 list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
Redis 安装部署
直接使用命令下载,如下:
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
安装:
首先解压安装包,命令如下
tar xzf redis-5.0.7.tar.gz
进入解压文件目录使用make
命令对解压的 redis 文件进行编译,命令
cd redis-5.0.7/
make
编译成功后,进入 src 文件夹,执行 make install 进行 Redis 安装。
cd src/
make install
部署:
1)新建 bin 文件夹
# cd /root/redis-5.0.7/
# mkdir bin
进入 src 文件夹下,将mkreleasehdr.sh
、redis-benchmark
、redis-check-aof
、redis-check-rdb
、redis-cli
、redis-server
、redis-sentinel redis.conf
文件复制到 bin 文件夹
命令: cp mkreleasehdr.sh
redis-benchmark
redis-check-aof
redis-check-rdb
redis-cli
redis-server
redis-sentinel redis.conf /root/redis-5.0.7/bin/
启动Redis服务:
切换到 bin 目录,使用 ./redis-server
即可启动 服务
客户端查看:
使用redis-cli
命令连接客户端,如下
./redis-cli -p 6379
关闭redis服务
# redis-cli -p 6379 shutdown
Redis 主从配置及数据同步
三台虚拟机配置如下配置:
ip地址 | 端口号 | 角色 |
127.0.0.1 | 6379 | master |
127.0.0.1 | 6380 | slave |
127.0.0.1 | 6381 | slave |
在已经搭建的单机版的基础上进行操作,先关闭Redis单机版,
redis-cli -p 6379 shutdown
新建目录:
mkdir /usr/local/replica
复制目录,把之前安装的单机版下的bin目录复制三份,分别叫做,master,slave1,slave2
# cp -r /root/tools/redis-5.0.7/bin /usr/local/replica/master
# cp -r /root/tools/redis-5.0.7/bin /usr/local/replica/slave1
# cp -r /root/tools/redis-5.0.7/bin /usr/local/replica/slave2
修改主从节点的配置文件:
主节点:
#bind 127.0.0.1(去掉bind绑定访问ip信息)
从节点:
指定主节点的ip和端口,并修改自身的端口号防止和其他Redis冲突。
# vim /usr/local/replica/slave1/redis.conf
修改端口:
指定主机和端口:(监听主节点)
同理,修改slave2的配置:
# vim /usr/local/replica/slave2/redis.conf
修改端口为:6381
指定主机:replicaof 127.0.0.1 6379
启动三个Redis 实例:
# cd /usr/local/replica/master ./redis-server redis.conf
# cd /usr/local/replica/slave1 ./redis-server redis.conf
# cd /usr/local/replica/slave2 ./redis-server redis.conf
查看Redis 服务进程:
# ps axu|grep redis
三个Redis都启动成功。
测试,进入master主机:
# cd /usr/local/replica/master
# ./redis-cli 启动客户端
# info replication 查看当前节点角色
在主节点:
set name '123456'
get name
在从节点启动,需要加上端口号:
./redis-cli -p 6380
get name
测试结果 主从数据一致,部署成功。