企业运维实战LAMP架构--redis(主从复制、Sentinel 分布式系统、redis集群)


前言

本章我们将学习redis。
redis是一种高级的存储系统,支持多种数据类型的存储,包括字符串、酸列、列表、集合和有序集合。


一、redis安装并启动

解压安装包

tar zxf redis-6.2.1.tar.gz

进入目录进行源码编译安装

cd redis-6.2.1/
make
make install

修改启动脚本
vim /root/redis-6.2.1/utils/install_server.sh
在这里插入图片描述
安装redis启动脚本

./install_server.sh

启动redis

/etc/init.d/redis_6379 start

在这里插入图片描述
交互式测试

redis-cli

在这里插入图片描述


二、redis常用命令

常用命令含义
config get *查看配置
select 1选择数据库
flushdb清空当前数据库
flushall清空所有数据库
move key 1移动key
del key删除
rename oldkey newkey改名
expire key 10设置过期时间
persist key设置持久化
persist key查询
persist key判断是否存在

三、redis实现主从复制

在这里插入图片描述

主机redis配置,使其监听所有网段
vim /etc/redis/6379.conf

在这里插入图片描述重启服务

/etc/init.d/redis_6379 restart

在这里插入图片描述从机安装redis,并配置相关文件
vim /etc/redis/6379.conf
在这里插入图片描述
在这里插入图片描述
重启服务

/etc/init.d/redis_6379 restart

在这里插入图片描述
测试:
主机交互式输入,在从机中可以查到
主机:
在这里插入图片描述从机:
在这里插入图片描述


四、Sentinel分布式监控

主要作用:当集群中的某个节点有故障时,可以自动的进行故障转移的操作。

监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。
提醒(Notification): 当被监控的某个 Redis 服务器出现问题时, Sentinel 可以通过 API 向管理员或者其他应用程序发送通知。
自动故障迁移(Automatic failover): 当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器。

操作:
server 4中修改sentinel配置文件

cd redis-6.2.1/
ls
cp sentinel.conf /etc/redis/
cd /etc/redis/
ls

vim sentinel.conf 修改二处
在这里插入图片描述

84 sentinel monitor mymaster 172.25.9.5 6379 2

125 sentinel down-after-milliseconds mymaster 10000

在这里插入图片描述
在这里插入图片描述
将修改后的配置文件传给slave机

scp sentinel.conf server5:/etc/redis/
scp sentinel.conf server6:/etc/redis/

开始监控

redis-sentinel /etc/redis/sentinel.conf  #监控

在这里插入图片描述

其余两台机也开始监控
server5\6:

redis-sentinel /etc/redis/sentinel.conf

在这里插入图片描述
在这里插入图片描述

down掉master

redis-cli
showdown

在这里插入图片描述

可以看到监控两次后切换到了新的master
在这里插入图片描述

查看slave主机redis信息

redis-cli
info

在这里插入图片描述
原来的slave切换到成了master主机。

重启server4 变成了slave
在这里插入图片描述
在这里插入图片描述

查看server4的redis主配置文件
在这里插入图片描述

五、redis集群–Cluster

集群就是一组相互独立的计算机,通过高速的网络组成一个计算机系统,每个集群节点都是运行其自己进程的一个独立服务器。通过网络连接组合成一个组合来共同完一个任务。

在前面的实验中,虽然做了主从复制,但单个master的容量受机器内存限制,往往要做集群来提升容量

redis集群特点:
1.去中心化,不存在中心节点或者代理节点;
2.没有统一的入口,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例;
3.redis-cluster 投票容错机制判断节点是否能够正常使用,少数过半判断节点down掉则判定节点down。
4.哈希槽:集群内置了16384个slot(哈希槽),将所有的物理节点映射到了这16384[0-16383]个slot上,或者说把这些slot均等的分配给了各个节点。注意:当任意一个节点挂掉后,集群将无法使用
5.redis集群最多有16384个节点。

1.手动创建集群

创建集群目录

cd /usr/local/
mkdir cluster
cd cluster
mkdir 7000 7001 7002 7003 7004 7005

编辑各个节点配置文件

cd 7000
vim redis.conf

在这里插入图片描述

启动集群

port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
redis-server redis.conf
ps ax

在这里插入图片描述

cp 7000/redis.conf 7001/
cp 7000/redis.conf 7002/
cp 7000/redis.conf 7003/
cp 7000/redis.conf 7004/
cp 7000/redis.conf 7005/

编辑配置文件并启动所有集群
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

yum install tcl

在这里插入图片描述
创建集群并配对

redis-cli --cluster create --help
redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7000  127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 #创建集群并配对

在这里插入图片描述
在这里插入图片描述
测试:

redis-cli -c -p 7000
set name westos
get name

redis-cli -c -p 7000
get name
在这里插入图片描述

注意:重新启动集群需要进入指定集群目录

down掉其中的一个master
在这里插入图片描述
在这里插入图片描述
集群自动分配master

在这里插入图片描述

重新启动后变为slave
在这里插入图片描述

2.脚本创建集群

脚本创建集群

cd /root/redis-6.2.1/utils/create-cluster

在这里插入图片描述
生成集群

./create-cluster start

在这里插入图片描述

ps ax

在这里插入图片描述
集群配对

./create-cluster create

在这里插入图片描述

redis-cli --cluster create --help #查看用法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值