当前位置: 首页 > wzjs >正文

自己动手建立网站3浙江建设职业技术学院招生网站

自己动手建立网站3,浙江建设职业技术学院招生网站,拖拽网站,中国建设银行网站招聘目录 环境准备 步骤 1:创建 Docker Compose 配置文件 步骤 2:创建配置文件 主节点配置文件 (redis.conf) 从节点配置文件 (slave.conf) 哨兵配置文件 (sentinel.conf) 步骤 3:启动 Redis 集群 步骤 4:验证集群状态 1. 检…

目录

环境准备

步骤 1:创建 Docker Compose 配置文件

步骤 2:创建配置文件

主节点配置文件 (redis.conf)

从节点配置文件 (slave.conf)

哨兵配置文件 (sentinel.conf)

步骤 3:启动 Redis 集群

步骤 4:验证集群状态

1. 检查主节点状态

2. 检查从节点状态

3. 检查哨兵状态

步骤 5:测试故障转移

步骤 6:清理环境(可选)

总结


这个示例将部署:

  1. 1 个 Redis 主节点
  2. 2 个 Redis 从节点
  3. 3 个 Redis 哨兵节点

环境准备

  1. Docker 和 Docker Compose

    • 确保你的环境中已经安装了 Docker 和 Docker Compose。
    • 如果尚未安装,可以参考 Docker 官方文档 进行安装。
  2. 网络配置

    • 确保 Docker 主机之间的网络可以互通。
    • 确保防火墙规则允许 Docker 容器之间的通信。
    • 创建一个redis-network:docker network create redis-network
    • 查看网络情况:docker network inspect redis-network

步骤 1:创建 Docker Compose 配置文件

创建一个 docker-compose.yml 文件,用于定义 Redis 集群的服务:

version: '3.8'services:redis-master:image: redis:alpinecontainer_name: redis-masterports:- "6379:6379"volumes:- ./redis.conf:/usr/local/etc/redis/redis.conf- ./master-data:/datacommand: ["redis-server", "/usr/local/etc/redis/redis.conf"]networks:- redis-networkredis-slave-1:image: redis:alpinecontainer_name: redis-slave-1ports:- "6380:6379"volumes:- ./slave.conf:/usr/local/etc/redis/redis.conf- ./slave1-data:/datacommand: ["redis-server", "/usr/local/etc/redis/redis.conf"]depends_on:- redis-masternetworks:- redis-networkredis-slave-2:image: redis:alpinecontainer_name: redis-slave-2ports:- "6381:6379"volumes:- ./slave.conf:/usr/local/etc/redis/redis.conf- ./slave2-data:/datacommand: ["redis-server", "/usr/local/etc/redis/redis.conf"]depends_on:- redis-masternetworks:- redis-networkredis-sentinel-1:image: redis:alpinecontainer_name: redis-sentinel-1ports:- "26379:26379"volumes:- ./sentinel.conf:/usr/local/etc/redis/sentinel.confcommand: ["redis-sentinel", "/usr/local/etc/redis/sentinel.conf"]depends_on:- redis-master- redis-slave-1- redis-slave-2networks:- redis-networkredis-sentinel-2:image: redis:alpinecontainer_name: redis-sentinel-2ports:- "26380:26379"volumes:- ./sentinel.conf:/usr/local/etc/redis/sentinel.confcommand: ["redis-sentinel", "/usr/local/etc/redis/sentinel.conf"]depends_on:- redis-master- redis-slave-1- redis-slave-2networks:- redis-networkredis-sentinel-3:image: redis:alpinecontainer_name: redis-sentinel-3ports:- "26381:26379"volumes:- ./sentinel.conf:/usr/local/etc/redis/sentinel.confcommand: ["redis-sentinel", "/usr/local/etc/redis/sentinel.conf"]depends_on:- redis-master- redis-slave-1- redis-slave-2networks:- redis-networknetworks:redis-network:driver: bridge

步骤 2:创建配置文件

主节点配置文件 (redis.conf)
bind 0.0.0.0
port 6379
dir /data
replicaof no one
masterauth <password>  # 设置主节点密码,根据需要修改
requirepass <password>  # 设置Redis访问密码,根据需要修改
从节点配置文件 (slave.conf)
bind 0.0.0.0
port 6379
dir /data
replicaof 192.168.1.100 6379  # 指定主节点的IP和端口
masterauth <password>  # 与主节点密码一致
requirepass <password>  # 与主节点密码一致
哨兵配置文件 (sentinel.conf)
# 端口配置:指定Sentinel监听的端口,默认是26379  
port 26379  # 守护进程配置:让Sentinel在后台运行  
daemonize yes  # PID文件配置:指定PID文件的存储路径,方便管理Sentinel进程  
pidfile /var/run/redis-sentinel.pid  # 监控配置:监控名为mymaster的主节点,IP地址为192.168.1.100(需改为自己的虚拟机的ip地址,ip address找到eth0或ens33),端口为6379,需要至少2个Sentinel同意才能判定主节点下线  
sentinel monitor mymaster 192.168.1.100 6379 2  # 主节点密码:用于Sentinel连接主节点进行验证,需要与主节点的密码配置一致  
sentinel auth-pass mymaster <password>  # 下线判断配置:设置Sentinel判断主节点下线的超时时间,单位为毫秒,默认为30000ms(30秒)  
sentinel down-after-milliseconds mymaster 30000  # 并行同步配置:设置并行同步的从节点数量,值为1表示一次一个节点同步  
sentinel parallel-syncs mymaster 1  # 故障转移超时配置:设置故障转移的超时时间,单位为毫秒,默认为180000ms(180秒)  
sentinel failover-timeout mymaster 180000  

步骤 3:启动 Redis 集群

docker-compose.yml 所在的目录下,运行以下命令验证docker-compose.yml文件格式是否正确

docker-compose config

格式无误则运行以下命令启动集群:

docker-compose up -d
  • -d 参数表示后台运行。
  • 集群启动后,可以通过 docker ps 查看所有运行的容器。

步骤 4:验证集群状态

1. 检查主节点状态
docker exec -it redis-master redis-cli ping
# 预期输出:PONG
2. 检查从节点状态
docker exec -it redis-slave-1 redis-cli info replication | grep role
# 预期输出:role:slave
3. 检查哨兵状态
docker exec -it redis-sentinel-1 redis-cli -p 26379 sentinel masters
# 预期输出:包含主节点的状态信息

步骤 5:测试故障转移

  1. 停止主节点容器

    docker stop redis-master
    
  2. 观察哨兵日志

    docker logs -f redis-sentinel-1
    
    • 看到哨兵检测到主节点下线并触发故障转移的日志。
  3. 验证新主节点

    docker exec -it redis-slave-1 redis-cli info replication | grep role
    # 预期输出:role:master
    

步骤 6:清理环境(可选)

如果需要清理环境,可以运行以下命令:

docker-compose down -v
  • -v 参数表示删除 volumes,即清理所有数据卷。

总结

通过以上步骤,我们成功使用 Docker 部署了一个 Redis 集群,包含:

  1. 1 个主节点:处理所有写操作。
  2. 2 个从节点:处理读操作,并提供数据冗余。
  3. 3 个哨兵节点:监控主节点状态,实现自动故障转移。

这个集群实现了以下功能:

  • 高可用性:主节点故障时,哨兵自动将从节点提升为主节点。
  • 读写分离:从节点分担读操作,提升系统性能。
  • 自动故障转移:哨兵持续监控主节点状态,确保集群稳定性。
http://www.dtcms.com/wzjs/815058.html

相关文章:

  • 网站优化 网站建设公司如何评价一个网站设计的好坏
  • 大学 英文网站建设wordpress登陆过程
  • 网站建设公司止一se0株洲天元区
  • 企业收录网站google搜索引擎入口
  • 手机网站建设推广方案ppt百度开户代理
  • app一键生成平台免费软件临沂seo顾问
  • 加强公司窗口网站建设苏州高端网站建设设计
  • 怎样用自己的电脑,做网站一般网站的架构
  • 网站备案拍照背景企业管理系统项目简介怎么写好
  • 如何在国外建网站3d制图软件
  • 国外网站怎么做wordpress最新发布模块
  • 广西建设科技在线网站网站开发兼容问题
  • 市网站开发公司网站建设怎么搭建服务器
  • 网站建设方案打包网站打开慢是什么原因
  • 3g微网站郑州市域名服务公司
  • 高端定制网站建设公司信息互联网推广
  • 做植物提取物的专业网站wordpress+代码行号
  • 建设营销型网站流程蜘蛛爬网站
  • 衡阳网站建设ss0734wordpress主题 含演示数据
  • 南昌网站建站wordpress数据库教程
  • 云南网站备案难吗网站的发展历史
  • 电商网站更适合wordpress数据库版本
  • 做网站用哪个预装系统信誉好的免费网站建设
  • 网站死链处理网站建设属于广告费么
  • 网站的建设是什么深圳网站营销推广公司电话
  • 响应式环保网站深圳宝安
  • 商城网站建设哪家好公众号制作视频教学视频
  • 成都手机网站建设开发哪些公司用.cc做网站
  • 徐州网站建设方案咨询做网站教程
  • 遵义网站建设有限公司国际战事最新消息