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

长沙出名的网站设计推广海口建设网站

长沙出名的网站设计推广,海口建设网站,wordpress关闭网站吗,深圳金融网站建设文章目录 关键配置说明Dockerfileentrypoint.shBroker 配置文件master1的broker.conf文件master2的broker.conf文件salve1的broker.conf文件salve2的broker.conf文件 docker-compose.yml部署步骤构建镜像:启动集群:查看服务启动情况如果启动失败&#xf…

文章目录

    • 关键配置说明
    • Dockerfile
    • entrypoint.sh
    • Broker 配置文件
      • master1的broker.conf文件
      • master2的broker.conf文件
      • salve1的broker.conf文件
      • salve2的broker.conf文件
    • docker-compose.yml
    • 部署步骤
      • 构建镜像:
      • 启动集群:
      • 查看服务启动情况
      • 如果启动失败,查看对应的容器日志
      • 关闭容器并删除镜像

本章内容主要介绍部署一个双主双从的rocketmq集群

关键配置说明

NameServer:负责服务发现和路由管理。
Broker:

  • Master Broker 负责消息的写入和读取。
  • Slave Broker 负责从 Master 同步数据,提供高可用性。
    RocketMQ Console:提供 Web 管理界面,方便监控和管理集群。(如果拉取镜像失败,则先注释掉)
    数据持久化:通过挂载卷(volumes)将 Broker 的日志和数据存储到宿主机,确保数据持久化。

我们需要按如下目录去创建文件夹和文件

/tmp/rocketmq-cluster/
├── docker-compose.yml
├── Dockerfile
├── entrypoint.sh
├── broker-master1/
│   ├── conf/
│   │   └── broker.conf
│   ├── logs/
│   └── store/
├── broker-slave1/
│   ├── conf/
│   │   └── broker.conf
│   ├── logs/
│   └── store/
├── broker-master2/
│   ├── conf/
│   │   └── broker.conf
│   ├── logs/
│   └── store/
└── broker-slave2/├── conf/│   └── broker.conf├── logs/└── store/

Dockerfile

通用的 RocketMQ Dockerfile,用于构建 NameServer 和 Broker 的镜像

# 使用官方的 OpenJDK 镜像作为基础镜像
FROM openjdk:8-jdk-alpine# 设置 RocketMQ 版本
ENV ROCKETMQ_VERSION=4.9.4# 安装必要的工具
RUN apk add --no-cache bash curl# 下载并解压 RocketMQ
RUN mkdir -p /opt/rocketmq \&& cd /opt/rocketmq \&& curl -O https://archive.apache.org/dist/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip \&& unzip rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip \&& mv rocketmq-all-${ROCKETMQ_VERSION}-bin-release/* . \&& rm -rf rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip rocketmq-all-${ROCKETMQ_VERSION}-bin-release# 设置环境变量
ENV ROCKETMQ_HOME=/opt/rocketmq
ENV PATH=${ROCKETMQ_HOME}/bin:${PATH}# 暴露端口
# NameServer 默认端口:9876
# Broker 默认端口:10911(Broker)、10909(主从同步)、10912(HA)
EXPOSE 9876 10911 10909 10912# 设置工作目录
WORKDIR ${ROCKETMQ_HOME}# 启动脚本
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh# 启动 NameServer 或 Broker
ENTRYPOINT ["/entrypoint.sh"]

entrypoint.sh

这是一个启动脚本,用于根据环境变量启动 NameServer 或 Broker:

#!/bin/bash# 根据环境变量启动 NameServer 或 Broker
if [ "$ROCKETMQ_ROLE" = "namesrv" ]; thenecho "Starting NameServer..."${ROCKETMQ_HOME}/bin/mqnamesrv
elif [ "$ROCKETMQ_ROLE" = "broker" ]; thenecho "Starting Broker..."${ROCKETMQ_HOME}/bin/mqbroker -c ${ROCKETMQ_HOME}/conf/broker.conf
elseecho "Unknown role: $ROCKETMQ_ROLE"exit 1
fi

Broker 配置文件

master1的broker.conf文件

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
namesrvAddr=namesrv1:9876;namesrv2:9876
listenPort=10911
storePathRootDir=/opt/rocketmq/store/broker-master1

master2的broker.conf文件

brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
namesrvAddr=namesrv1:9876;namesrv2:9876
listenPort=10912
storePathRootDir=/opt/rocketmq/store/broker-master2

salve1的broker.conf文件

brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
namesrvAddr=namesrv1:9876;namesrv2:9876
listenPort=10921
storePathRootDir=/opt/rocketmq/store/broker-slave1

salve2的broker.conf文件

brokerClusterName=DefaultCluster
brokerName=broker-b
brokerId=1
deleteWhen=04
fileReservedTime=48
brokerRole=SLAVE
flushDiskType=ASYNC_FLUSH
namesrvAddr=namesrv1:9876;namesrv2:9876
listenPort=10922
storePathRootDir=/opt/rocketmq/store/broker-slave2

docker-compose.yml

用于部署双主双从的 RocketMQ 集群

version: '3.8'services:# NameServer 1namesrv1:build: .container_name: rocketmq-namesrv1environment:- ROCKETMQ_ROLE=namesrvports:- "9876:9876"networks:- rocketmq-net# NameServer 2namesrv2:build: .container_name: rocketmq-namesrv2environment:- ROCKETMQ_ROLE=namesrvports:- "9877:9876"networks:- rocketmq-net# Broker Master 1broker-master1:build: .container_name: rocketmq-broker-master1environment:- ROCKETMQ_ROLE=brokervolumes:- /tmp/rocketmq-cluster/broker-master1/conf/broker.conf:/opt/rocketmq/conf/broker.conf- /tmp/rocketmq-cluster/broker-master1/logs:/opt/rocketmq/logs- /tmp/rocketmq-cluster/broker-master1/store:/opt/rocketmq/storeports:- "10911:10911"- "10909:10909"depends_on:- namesrv1- namesrv2networks:- rocketmq-net# Broker Slave 1broker-slave1:build: .container_name: rocketmq-broker-slave1environment:- ROCKETMQ_ROLE=brokervolumes:- /tmp/rocketmq-cluster/broker-slave1/conf/broker.conf:/opt/rocketmq/conf/broker.conf- /tmp/rocketmq-cluster/broker-slave1/logs:/opt/rocketmq/logs- /tmp/rocketmq-cluster/broker-slave1/store:/opt/rocketmq/storeports:- "10921:10911"- "10919:10909"depends_on:- namesrv1- namesrv2networks:- rocketmq-net# Broker Master 2broker-master2:build: .container_name: rocketmq-broker-master2environment:- ROCKETMQ_ROLE=brokervolumes:- /tmp/rocketmq-cluster/broker-master2/conf/broker.conf:/opt/rocketmq/conf/broker.conf- /tmp/rocketmq-cluster/broker-master2/logs:/opt/rocketmq/logs- /tmp/rocketmq-cluster/broker-master2/store:/opt/rocketmq/storeports:- "10912:10911"- "10910:10909"depends_on:- namesrv1- namesrv2networks:- rocketmq-net# Broker Slave 2broker-slave2:build: .container_name: rocketmq-broker-slave2environment:- ROCKETMQ_ROLE=brokervolumes:- /tmp/rocketmq-cluster/broker-slave2/conf/broker.conf:/opt/rocketmq/conf/broker.conf- /tmp/rocketmq-cluster/broker-slave2/logs:/opt/rocketmq/logs- /tmp/rocketmq-cluster/broker-slave2/store:/opt/rocketmq/storeports:- "10922:10911"- "10920:10909"depends_on:- namesrv1- namesrv2networks:- rocketmq-net# RocketMQ Console(可选)console:image: apacherocketmq/rocketmq-console:2.0.0container_name: rocketmq-consoleports:- "8080:8080"environment:- JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv1:9876;namesrv2:9876depends_on:- namesrv1- namesrv2networks:- rocketmq-netnetworks:rocketmq-net:driver: bridge

部署步骤

构建镜像:

运行以下命令构建镜像:

docker-compose build

启动集群:

docker-compose up -d

查看服务启动情况

docker ps

在这里插入图片描述

如果启动失败,查看对应的容器日志

rocketmq-broker-master1是对应的容器名

docker logs rocketmq-broker-master1

关闭容器并删除镜像

如果要重新构建镜像,则可以通过下面这行命令

docker-compose down

文章转载自:

http://3ehiPqY8.bxdrj.cn
http://VWMrsR4N.bxdrj.cn
http://jTyjQZiC.bxdrj.cn
http://Uey4vkXL.bxdrj.cn
http://I3QkyB7m.bxdrj.cn
http://5GV8cjga.bxdrj.cn
http://eRVJXUbO.bxdrj.cn
http://H7dL0VaM.bxdrj.cn
http://qmDeXjtF.bxdrj.cn
http://iQoAa3QW.bxdrj.cn
http://af7Dp2hi.bxdrj.cn
http://mv87W7wL.bxdrj.cn
http://nnWzqbcr.bxdrj.cn
http://qKBuYUxo.bxdrj.cn
http://CbM4GI6W.bxdrj.cn
http://seCXWNjb.bxdrj.cn
http://euw2rb5U.bxdrj.cn
http://3MjLJ15b.bxdrj.cn
http://6YpNCkI8.bxdrj.cn
http://3Ez4XE2n.bxdrj.cn
http://MzrZObcT.bxdrj.cn
http://Oj3iAaL2.bxdrj.cn
http://tPoDOkNc.bxdrj.cn
http://vAP1OItw.bxdrj.cn
http://Vb6ekYBV.bxdrj.cn
http://ybvfKJTQ.bxdrj.cn
http://BEqJngLH.bxdrj.cn
http://oKuHiDmR.bxdrj.cn
http://gWKCFSsm.bxdrj.cn
http://U2zO0LNz.bxdrj.cn
http://www.dtcms.com/wzjs/626245.html

相关文章:

  • 网站宣传页设计网站建设图片
  • 网站开发需要准备什么网站开发项目拖延周期
  • phpcmsv9手机网站开发做网站编辑累不累
  • 清理网站后台缓存绍兴建设网站制作
  • 秦皇岛做网站汉狮网络wordpress 短代码 嵌套
  • 怎么做告白网站wordpress重启
  • html5做网站导航陕西高速公路建设集团公司网站
  • 国家城乡建设部投诉网站做网站到底需要什么
  • 四川和住房城乡建设厅网站智慧团建网站密码格式
  • 网站空间指的是什么意思做网站有了域名
  • 建站技术知识qq中心官方网站
  • 南漳网站建设百度推广技巧
  • 怒江州建设局网站企业备案网站金蝶软件公司官网
  • 国外网站推广方法招聘信息网58同城
  • 湛江手机网站建设公司企业网站制作流程图
  • 惠州建设网站开发网站制作报价单
  • 网站seo监测呼市网站开发
  • 合肥有哪些做网站的网站空间续费查询
  • 做网站怎么选空间冬镜seo
  • 设计图片欣赏江苏网站seo优化
  • 帝国cms7.0网站地图九江市建设规划局网站
  • 西安外贸网站开发注册建筑工程公司起名大全
  • 上海手机网站建设哪家专业单页导航网站
  • 门户网站开发项目网站建设的流程怎么写
  • 上传产品网站怎么做的全球知名电子商务网站统计
  • 外包做的网站 需要要源代码吗廊坊大城网站建设
  • 物流营销型网站案例成都网站建设需要多少钱
  • 女的男的做那个视频网站微商城分销系统制作
  • 广州做网站网络公司app制作软件免费
  • 重庆网上注册公司网站外加工网