RocketMQ的学习历程(3)----RocketMQ部署(docker版)

news2024/12/28 6:04:49

RocketMQ部署(docker版)

在这里插入图片描述

1. 部署开始前的准备

  1. 一台linux机器。(我这里使用的是阿里云的一个centos7的服务器)
  2. docker环境以及相关的简单知识。
  3. 一些计算机网络的简单知识。(可以帮你透彻了解为什么这么部署)
    docker部署十分简单快捷,重点就是不同网络的特性,如果了解不同网络特性可以事半功倍地部署相关服务。

点击链接可以在我上篇博客中学习基本的三种基本网络。
博客地址

参考文档:

  1. RocketMQ github官方文档https://github.com/apache/rocketmq
  2. docker快速搭建RokcetMQ简称

2.部署过程

注意:官方的教程直接是host网络,即和宿主机网络相同,所以不需要开端口,也尽量不要开多容器,多容器需要更改端口,多容器请使用网桥模式。

2.1.启动name server

docker run -it --net=host apache/rocketmq ./mqnamesrv

启动比较简单不需要额外配置什么文件。

2.2.启动broker

  1. 创建broker配置(和nameserver不同,broker需要手动配置broker地址,用于路由注册。)

如果你已经启动了broker,但是需要配置下broker在路由中认证的地址,否则无法将消费者导向正确的路由。

错误为下面展示
在这里插入图片描述

这里的ip尽量填外网ip注意:自用电脑一般没公网ip,只能先填本机凑合,这样的话程序也最好在本机运行),因为中间件的通信一般不局限于一台主机上,不同主机,甚至不同位置都是常态,

  1. 创建broker挂载相关文件夹
mkdir -p /usr/dockerrocketmq/rmqbroker01/logs
mkdir -p /usr/dockerrocketmq/rmqbroker01/conf
mkdir -p /usr/dockerrocketmq/rmqbroker01/store
vi /usr/dockerrocketmq/rmqbroker01/conf/broker.conf
  1. 创建broker配置文件
    在这里插入图片描述
#nameserver的外网ip地址,这个一般为9876端口,这个配置项也可以不要,启动的时候指定
namesrvAddr=ip:port
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#broker主机所在的外网ip,非常关键
brokerIP1 = ip
listenPort=10911
  1. 创建容器
docker run -it --net=host -v  /usr/data/broker/logs:/root/logs -v  /usr/dockerrocketmq/rmqbroker01/store:/root/store -v  /usr/dockerrocketmq/rmqbroker01/conf/broker.conf:/opt/rocketmq-4.9.4/conf/broker.conf --name rmqbroker   rocketmqinc/rocketmq sh mqbroker -n ip:9876 -c /opt/rocketmq-4.9.4/conf/broker.conf

虽然很长,但是核心思想就是挂载三个卷,conf卷是必须挂载的,否则很容易识别不到外网ip,导致中间件处于半残废状态!

2.3.启动ocketmq-dashboard(非必须部署,但是建议新手部署)

docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=外网ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t pangliang/rocketmq-console-ng

我这里8080有东西了,我改成8082端口。

在这里插入图片描述
在这里插入图片描述

大功告成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/478904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA85-135

JAVA85-135 字符集详解解码与编码方法 字符流FileWriter 拷贝文件夹字节缓冲流拷贝文件(一次读写一个字节)字节缓冲流拷贝文件(一次读写一个字节数组) 字符缓冲流控制软件运行次数 序列化流反序列化流/对象操作输入流打印流字节打…

macOS Monterey 12.6.5 (21G531) OC 0.9.1 / Cl 5151 / PE 三分区原版黑苹果镜像

苹果近期发布了 macOS Big Sur 11.7.6 和 macOS Monterey 12.6.5 更新,本次更新重点修复了标记为 CVE-2023-28206 的漏洞,在 macOS 13.3.1 更新中已修复,推荐大家安装升级。 镜像下载: macOS Monterey 12.6.5 (21G531) 三分区原版…

【面试】嵌入式C语言题目整理

【面试】嵌入式C语言题目整理 描述内存四区。 内存四区分为:代码区、静态区、堆区、栈区 代码区就是用来存放代码的。 静态区用来存放全局变量、静态变量、常量(字符串常量、const修饰的全局变量)。 堆区中的内存是由程序员自己申请和释放的&…

《高性能MySQL》读书笔记

《高性能MySQL》 第一章 MySQL架构与历史第二章 MySQL基准测试第三章 服务器性能剖析第四章 Schema与数据类型优化第五章 创建高性能的索引第六章 查询性能优化第七章 MySQL高级特性第八章 优化服务器设置第九章 操作系统与硬件优化第十章 复制第十一章 可扩展的MySQL第十二章 …

sed进阶之多行命令

shell脚本编程系列 前面使用sed编辑器的基础命令时,所有的命令都是针对单行数据执行操作的。在sed编辑器读取数据流时,它会根据换行符的位置将数据分成行。sed编辑器会根据定义好的脚本命令,一次处理一行数据,然后移到下一行重复这…

numpy稀疏矩阵拼接

今天我发现numpy中的array拼接时dense矩阵和sparse矩阵拼接使用的形式是不一样的,测试如下 普通矩阵拼接 import numpy as npaa np.random.randn(4,3) bb np.ones((4,3)) ccnp.c_[aa,bb] cc.shape结果如下 sparse矩阵拼接 from scipy.sparse import *row [1,1,…

DC-7通关详解

信息收集 漏洞发现 web提示我们说弱口令可能不会奏效 那么我们就先不考虑弱口令 searchsploit搜payload打打看,无果 看别人的wp知道了是通过web左下角的这个玩意去github搜 在这个仓库用户唯一的仓库中看config.php 发现账号密码 尝试后台和ssh登录 ssh登录成功 提权 当前…

一款免安装、多平台兼容的 拾色器(Color Picker)

文章目录 场景需求场景需求 Chrome Google DevTools 中的 拾色器 用法其他浏览器 场景需求 场景 我是一个前端开发人员,我写好的界面给老板过目。老板说有个地方颜色需要调整,然后发我一张图片指了指说就用这个位置这样的红色,我看挺合适。…

数字化时代 | 服务数字化创新和转型全景视图

本文我全面介绍一下数字化时代,服务将往何处去,将如何设计和推进数字化创新和转型。 Figure 1 服务创新和转型全景视图 如上图所示,在我CRM3.0理论体系中,服务创新和转型涉及到四个层面的内容: 服务定位和目标&#…

Python数据分析script必备知识(三)

Python数据分析script必备知识(三) 1.单个文件,双个文件,三个文件的读取方式 新建1.txt文件,2.txt文件,3.txt文件,效果如下 执行代码 """ 单文件,双文件,三文件的读取方式Python的读写 file.read() ———— 一次性读取整个文件内容,推荐使用re…

【信息安全案例】——系统软件安全(学习笔记)

📖 前言:操作系统是管理系统资源、控制程序执行、提供良好人机界面和各种服务的一种系统软件,是连接计算机硬件与上层软件和用户之间的桥梁。因此,操作系统是其他系统软件、应用软件运行的基础,操作系统的安全性对于保…

React框架课时二认识项目的结构目录一

1react项目的目录的内容信息 ├── README.md 使用方法的文档 ├── node_modules 所有的依赖安装的目录 ├── package-lock.json 锁定安装时的包的版本号,保证团队的依赖能保证一致。 ├── package.json ├── public 静态公共目录 └── src 开发用的源代码目录 2 图…

英伟达Jetson NX,AI配置。安装SDK Components

目录 0.前言 1.准备 2.安装 3.检验 4.总结 0.前言 五一了,劳动节劳个动。推荐一首歌《花房姑娘》。 1.准备 接上篇博客英伟达Jetson NX套件刷机 算是完整配置英伟达这个Jetson AI。说来也是强,把GPU的能力用在了算力上,CUDA可以的。 查看…

SqlServer数据库中文乱码问题解决方法

这个问题在网上找了很多资料都没找到真正解决问题的办法,最终去了官网,终于找到问题的答案了,整理出来做个记录。 问题描述: 项目中遇到一个问题,sqlserver中的数据是ok的,结果保存到mysql中是乱码&#…

PostgreSQL数据库

0 安装 我使用的操作系统为Ubuntu。 安装命令: sudo apt-get update sudo apt-get install postgresql postgresql-client 进入postgres: sudo -i -u postgres psql 退出命令: \q PostgreSQL启动服务等: sudo /etc/init.d/postgr…

KalLinux安装burpsuite(超详细)

注意事项 1.注意linux位数 安装jdk之前先输出uname -a,看看kali linux是32位的还是64位,例如此处我的kali是32位的,因此需下载的是32位的jdk 2.jdk版本 jdk版本最好是oracle的,若使用的是openjdk很可能会出现burpsuite闪退现象…

还在因为指针的释放问题而烦恼吗?快来看下C++11智能指针shared_ptr

智能指针是这样一种类,即其对象的特征类似于指针。例如,智能指针可以存储new分配的内存地址,也可以被解除引用。 因为智能指针是一个类对象,因此它可以修改和扩充简单指针的行为。例如,智能指针可以建立引用技术&#…

读研读博不emo

文章目录 起因积极走出封闭的孤独经历一——去心理健康中心看看书 原因剖析解决思路 好久没更b站, 起因 起因是这样的,在自己读研的研一下学期。也遭遇到了年以来的第一次心态发生有点压抑的情况吧。其实第一学期因为我遇到了很好的导师,然后…

二叉搜索树(Binary Search Tree)的深入剖析:代码+画图 详解插入、查找、删除操作

BSTree 0 引言1 二叉搜索树的概念2 创建一棵二叉搜索树(插入操作)2.1 画图分析插入操作2.2 代码思路2.3 利用中序遍历验证 3 二叉搜索树的查找操作4 二叉树搜索树的删除操作(重点)4.1 代码的一些细节分析 5 总结 0 引言 本篇文章…

【Elasticsearch】集群部署

文章目录 本地集群Windiows创建 elasticsearch-cluster 文件夹,在内部复制三个 elasticsearch 服务修改集群文件目录中每个节点的 config/elasticsearch.yml 配置文件启动集群测试集群-查看集群状态 本地开启集群Linux软件下载软件安装创建用户修改配置文件启动软件…