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.shredis-benchmarkredis-check-aofredis-check-rdbredis-cliredis-serverredis-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

 

修改端口:

 

linux redis无读写权限 linux redis set_redis

指定主机和端口:(监听主节点)

linux redis无读写权限 linux redis set_Redis_02

 同理,修改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 

linux redis无读写权限 linux redis set_Redis_03

三个Redis都启动成功。

测试,进入master主机:

# cd /usr/local/replica/master  

# ./redis-cli   启动客户端

# info replication   查看当前节点角色

linux redis无读写权限 linux redis set_redis_04

 

在主节点:

set name '123456'

get name 

在从节点启动,需要加上端口号:

./redis-cli -p 6380 

get name 

测试结果 主从数据一致,部署成功。