前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker实战-部署「Redis集群」

Docker实战-部署「Redis集群」

作者头像
李昂君
发布2021-12-24 18:38:57
1.1K0
发布2021-12-24 18:38:57
举报
文章被收录于专栏:李昂君李昂君

阅读量: 51

Redis集群思维导图

创建集群

一、创建自定义网络模式

代码语言:javascript
复制
docker network create --driver bridge --subnet 172.28.0.0/16 redis-group

二、Shell脚本快速创建集群

1. 创建配置文件夹并启动容器
代码语言:javascript
复制
# 创建集群配置文件夹
for port in $(seq 1 6); \
do \

mkdir -p ./mydata/redis/node-${port}/conf
touch ./mydata/redis/node-${port}/conf/redis.conf

cat << EOF >./mydata/redis/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.28.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF

done
代码语言:javascript
复制
# 循环启动 docker 容器
for port in $(seq 1 6); \
do \

docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} \
-v /home/docker/redis-group/mydata/redis/node-${port}/data:/data \
-v /home/docker/redis-group/mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis-group --ip 172.28.0.1${port} redis:latest redis-server /etc/redis/redis.conf \

done
2. 集群配置

进入容器redis-1,并配置集群

代码语言:javascript
复制
# 进入 redis-1 容器
docker exec -it redis-1 /bin/bash
# 配置集群命令
redis-cli --cluster create 172.28.0.11:6379 172.28.0.12:6379 172.28.0.13:6379 172.28.0.14:6379 172.28.0.15:6379 172.28.0.16:6379
代码语言:javascript
复制
# 查看redis集群概况,加-c 是集群,不加-c是单机
redis-cli -c

测试集群数据写入

测试突发主节点瘫痪

代码语言:javascript
复制
# 到宿主主机命令行控制台,手动控制 redis-3容器暂停,达到节点瘫痪
docker stop redis-3

此时,redis-4从机,升为主机,代理原来主机的工作任务,由此实现高可用

总结

在未来,使用了虚拟化服务之后,所有技术都会慢慢的变得简单起来!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-2-24 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis集群思维导图
  • 创建集群
    • 一、创建自定义网络模式
      • 二、Shell脚本快速创建集群
        • 1. 创建配置文件夹并启动容器
        • 2. 集群配置
    • 总结
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档