文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Docker部署Redis哨兵模式

2023-06-06 12:46

关注

本篇文章给大家分享的是有关Docker部署Redis哨兵模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

条件

三台服务器(因为需要至少三个哨兵保证安全性)【可以在阿里云上租几个小时】

安装Docker

逐行执行以下指令:

# 1. 更新编译环境yum -y install gcc# 2. 同上yum -y install gcc-c++# 3. 安装docker# 3.1 卸载旧版本yum remove docker \   docker-client \   docker-client-latest \   docker-common \   docker-latest \   docker-latest-logrotate \   docker-logrotate \   docker-engine# 3.2 安装需要的安装包yum install -y yum-utils# 3.3设置镜像的仓库,推荐使用国内的镜像,比较快yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 3.4 更新yum软件包索引,功能是将软件包缓存在本地一份yum makecache # 3.5 安装docker相关的 docker-ce 社区版yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm# 3.6 安装yum install docker-ce docker-ce-cli containerd.io# 3.7 启动dockersystemctl start docker# 3.8 设置为后台启动systemctl enable docker # 3.9 使用docker version查看是否按照成功docker version# 3.10 测试(可以不做)docker run hello-world# 3.11 卸载删除(仅供参考,本次不做)yum remove docker-ce docker-ce-cli containerd.iorm -rf /var/lib/docker# 4. 配置加速器sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://qdxc3615.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker

配置redis主从节点

我们使用的服务器是服务器1和服务器3(本来是一主两从,我把服务器2关了)。

TIPS: 对于xshell可以使用右键选择发送键输入到所有会话,这样就不需要配置两遍了。或者使用scp语句将配置好的文件共享给其他服务器:

# scp local_file remote_username@remote_ip:remote_folderscp redis.conf root@58.131.71.196:/blue/redis02

首先创建文件夹,注意不要放在home路径下,否则容易因为权限问题是容器运行失败。我创建的目录为/blue/redis02,指令比较简单:

cd /mkdir blue && cd bluemkdir redis02 && cd redis02

创建Dockerfile,Dockerfile是为了加载一些我们需要的环境。

vi Dockerfile# Dockerfile内容如下:# 从基础镜像redis继承FROM redisMAINTAINER blue<blue@email.com># 将Dockerfile所在目录下的文件复制到容器/usr/local/etc/redis目录下COPY redis.conf /usr/local/etc/redis/redis.conf# 安装一些环境RUN apt-get updateRUN apt-get install -y vimRUN apt-get install procps --assume-yesVOLUME ["/data"]WORKDIR /etc/redis# 开放端口7000EXPOSE 7000# 使用配置文件启动CMD [ "redis-server", "/usr/local/etc/redis/redis.conf"]

从官网上下载一个redis.conf并做如下修改。redis.conf则是redis的一些配置,这个和单机的redis一主一从三哨兵的配置基本相同。

# 注释掉bind 127.0.0.1 # bind 127.0.0.1port 7000# 这里如果是yes会影响使用配置文件启动daemonize nopidfile /var/run/redis_7000.pid# 需要设置以下两处密码,密码要一致requirepass testmaster123masterauth testmaster123# 修改保护模式,如果是yes会导致外部服务器无法访问protected-mode no# 对于服务器3,还需要加上一句,表示是服务器1的从服务器 # slaveof 主.机.I.P 端口slaveof 8.131.78.18 7000

保存好以上配置之后可以使用以下语句创建镜像,这个过程时间比较长,需要耐心等待:

# 应该用 docker build -t myredis . 比较有辨识度的,但是作为测试的时候就成功了,也不想修改了。这句话是根据我们的Dockerfile创建一个新的镜像。可以把他push到仓库去,这样下次可以直接拉取。docker build -t test .

使用如下语句启动容器:

# 启动容器docker run -d -p 7000:7000 --name redis-test test# 以下语句查看运行中的容器docker ps#进入容器内部docker exec -it redis-test /bin/bash

在容器内部可以使用以下语句查看在运行的线程:

# 查看运行的线程ps -ef# 使用redis客户端访问7000端口redis-cli -p 7000# 输入密码auth testmaster123# 查看信息info replication# 以下为从节点返回的信息# Replicationrole:slavemaster_host:8.131.78.18master_port:7000master_link_status:upmaster_last_io_seconds_ago:10master_sync_in_progress:0slave_repl_offset:28slave_priority:100slave_read_only:1connected_slaves:0master_replid:438c700922a30ebbc66ee5c89a176c426924b2a7master_replid2:0000000000000000000000000000000000000000master_repl_offset:28second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:28

以上就是Docker部署Redis哨兵模式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯