一、安装Redis
1 .绘制公式镜像,标签为3.2
[根@本地主机/] # dockerpullredis :3.2
2 .下载完成后,可以在本地镜像列表中找到REPOSITORY为redis、标签为3.2的镜像。
[根@本地主机/] #文档库内存
repositorytagimageidcreatedsize
redis 3.243 c 923 d 577842 weeks ago 193.9 MB
3 .运转容器
[ root @ localhost/] # docker run-p 637933606379-v $ pwd/data :/data-dred is 33603.2只读存储器
43 f 7a 65e c7f8BD 64 EB 1C 5d 82BC4FB 60 E5E B 31915979 C4 E 7821759 A AC3B 62 F 330
命令说明:
- -将-p 6379:6379 :容器的6379端口映射到主机的6379端口
-v $PWD/data:/data :将主机当前目录中的data装载到容器的/data
redis-server-- appendonlyyes :在容器中运行redis-server启动命令,打开redis持久性配置
4 .连接、显示容器
[根@ localhost/] # docker exec-it43 f 7a 65e c7f8redis-CLI
172.17.0.1:6379信息
# #服务器
redis _版本:3.2.0
redis_git_sha13360000000
redis_git_dirty:0
redis _ build _ id : f 449541256 e 7d 446
redis _ mode :单机版
OS : Linux 4.2.0-16 -通用x86 _ 64
arch_bits:64
多路传输_应用程序:轮询
.
二、主从复制
执行redis镜像
首先使用docker启动3个redis容器服务,分别使用到6379、6380、6381端口
docker run-- -名称redis-6379-p 637933606379 -干燥is :3.2 redis -服务器
docker run-- -名称redis-6380-p 638033606379 -干燥is :3.2 redis -服务器
docker run-- -名称redis-6381-p 638133606379 -干燥is :3.2 redis -服务器
配置redis群集
使用以下命令显示容器内网络的ip地址等信息
docker inspect containerID (容器id ) )。
三个redis的内部网ip地址如下。
redis-6379:172.17.0.3:6379
redis-6380:172.17.0.4:6379
redis-6381:172.17.0.5:6379
进入docker容器内,确认当前的redis角色(主master还是从属)命令:信息复制)
[根@本地主机/] # docker exec-it007 f7ab 412 B9 redis-CLI
127.0.0.1:6379信息复制
# #复制
role:大师赛
连接的_从属:0
master _ repl _偏移:3860
repl _ backlog _活动:1
repl_backlog_size:1048576
repl _ backlog _第一个字节_偏移:2
repl_backlog_histlen:3859
127.0.0.1:6379
可以看到,现在3台redis都是master的角色,使用redis-cli命令修改redis-6380、redis-6381的主机为172.17.0.3:6379
从属172.17.0.3 6379
再次观察主机info,已经有两个从站。 4和. 5。
127.0.0.1:6379信息复制
# #复制
role:大师赛
连接的_从属:2
slave0:ip=172.17.0.4,端口=6379,状态=在线,偏移=3860,lag=0
slave1:ip=172.17.0.5,端口=6379,状态=在线,偏移=3860,lag=0
master _ repl _偏移:3860
repl _ backlog _活动:1
repl_backlog_size:1048576
repl _ backlog _第一个字节_偏移:2
repl_backlog_histlen:3859
现在,主从在redis上的配置就可以了。
三、Sentinel的无辜抽屉
Redis的Sentinel系统用于管理多个Redis服务器(实例)。 这个系统执行以下三个任务。 具体来说,对可以参照的链接进行说明。
监视(Monitoring ):Sentinel会不断检查主服务器和辅助服务器是否正常运行。
提醒:如果被监视的Redis服务器发生问题,Sentinel可以通过API向管理员或其他APP发送通知。
自动故障转移(Automatic failover )是指,如果一个主服务器无法正常工作,Sentinel会将其中一个无效的主服务器升级到新的主服务器,从而导致该主服务器无效当客户机尝试连接到无效的主服务器时,集群会向客户机返回新主服务器的地址,以便集群可以使用新主服务器代替无效的服务器。
接着直接进入3台redis容器的内部进行配置
[ root @ localhost/] # docker exec-ti容器id /美丽的母鸡/bash
进入根目录并创建sentinel.conf文件
[根@本地主机/] #光盘/触摸中心. conftouchlog.txt
将sentinel.conf文件的内容更改如下:
sentinelmonitormymaster 172.17.0.363791
# #作为后台执行添加
动态是
# #指定日志目录
日志文件/日志. txt '
最后,启动Redis的无辜抽屉:
redis-sentinel/sentinel.conf
这样,Sentinel的无辜抽屉的配置就完成了。
验证,图
需要c/c++ Linux服务器高阶知识、电子书籍、视频资料的朋友请后台私信【架构】获取
知识点有C/C、Linux、golang技术、Nginx、ZeroMQ、MySQL、Redis、快速DFS、莫妮卡、ZK、流媒体、CDN、P2P、K8S、DS