6)性能 RocketMQ单机也可以支持亿级的消息堆积能力。 单机写入TPS单实例约7万条/秒,单机部署3个Broker,可以跑到最高12万条/秒,消息大小10个字节 RocketMQ 物理部署结构 如上图所示, RocketMQ的部署结构有以下特点: 1)Name Producer 完全无状态,可集群部署。 二、RocketMQ集群部署记录 部署需求: 准备5台虚拟机,其中4台作为rocektmq broker(双master 双slave,同步双写,异步刷盘),另1台用作rocektmq的console( 监控平台rocketmq-console部署(192.168.10.207上操作) rocketmq有一个管理界面叫incubator-rocketmq-externals 百度网盘下载地址:https
【RocketMQ】005-Docker 部署 RocketMQ 一、部署 1、拉取镜像 MQ 镜像 docker pull rocketmqinc/rocketmq:latest 可视化平台镜像 docker rocketmqinc/rocketmq: 这是指定要使用的Docker镜像的名称。在这里,使用的是RocketMQ官方提供的镜像,该镜像用于运行RocketMQ。 --name rocketmq_broker: 这是一个选项,用于为容器指定名称,这里将容器命名为"rocketmq_broker"。 rocketmqinc/rocketmq: 这是指定要使用的Docker镜像的名称。在这里,使用的是RocketMQ官方提供的镜像,该镜像用于运行RocketMQ。 三、其他 参考文章: docker部署RocketMQ https://blog.csdn.net/SmallCat0912/article/details/128535930
https://helm-charts.itboon.top/rocketmqhelm repo update rocketmq-repo部署案例## 部署一个最小化的 rocketmq 集群## 这里关闭持久化存储 ,仅演示部署效果helm upgrade --install rocketmq \ --namespace rocketmq-demo \ --create-namespace \ --set broker.persistence.enabled ="false" \ rocketmq-repo/rocketmq## 部署测试集群, 启用 Dashboard (默认已开启持久化存储)helm upgrade --install rocketmq ## 部署高可用集群, 多 Master 多 Slave## 3个 master 节点,每个 master 具有1个副节点,共6个 broker 节点helm upgrade --install rocketmq 部署特定版本helm upgrade --install rocketmq \ --namespace rocketmq-demo \ --create-namespace \ --set image.tag
1.拉取mq镜像docker pull rocketmqinc/rocketmq:4.3.22.拉取可视化平台镜像docker pull styletang/rocketmq-console-ng:1.0.03 .创建nameserver挂载目录mkdir -p /opt/rocketmq/data/namesrv/logs /opt/rocketmq/data/namesrv/store # 修改镜像名字 docker tag 【镜像id】 rocketmq:4.3.24.创建broker目录mkdir -p /opt/rocketmq/data/broker/logs /opt/rocketmq/data /broker/store # 修改镜像名字 docker tag 【镜像id】 rocketmq-console:1.0.05.创建broker配置文件目录mkdir -p /opt/rocketmq /rocketmq/data/broker/logs:/root/logs -v /opt/rocketmq/data/broker/store:/root/store -v /opt/rocketmq
RocketMQ实战教程之RocketMQ安装这里实例采用centos系统天翼云为例,分别采用传统安装以及Docker安装的方式来进行RocketMQ的安装.JDK8我这边已经安装配置好了,这里就不在赘述 jdk: https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html 快速安装下载RocketMQ 安装包上传到虚拟机、服务器上安装unzip: yum install unzip -y使用该命令: unzip rocketmq-all-5.2.0-bin-release.zip 进行安装1、启动NameServer 安装完RocketMQ包后,我们启动NameServer### 后台启动namesrv(这里建议前台启动方便看日志报错信息)$ nohup sh bin/mqnamesrv & ### 验证namesrv ' (errno=12) - 解决方案如下: vim runbroker.sh - 图片 工具测试消息收发在进行工具测试消息收发之前,我们需要告诉客户端NameServer的地址,RocketMQ
引言注意个人使用了4.9.4的Rocketmq版本进行学习部署使用。因为windows上使用docker部署不同版本的RockerMq可能会有不同的情况,这里仅保证4.9.4的版本可以正确运行。 运行之后通常会返回一个唯一ID比如$ 53d8bdda518f1a4ed24a45c7c66a463413933d04ee7b6e5ac7a9150dea54ca48 提醒 NameServer启动之后的RocketMq根路径为:/home/rocketmq/rocketmq-4.9.4/con,Broker同理。 )毫无疑问是个人尝试的命令出错了,在经过反复尝试之后修复,注意rocketmq的home目录为: /home/rocketmq/rocketmq-4.9.4docker run -d \--restart IP,建议有条件使用Linux部署docker和使用Docker。
案例ROCKETMQ版本 4.7 1. 设置环境变量ROCKETMQ_HOME为解压目录 2. 设置JAVA_HOME为JRE1.8版本路径 3. 修改nameserver java启动参数 %ROCKETMQ_HOME%\bin\runserver.cmd if not exist "%JAVA_HOME%\bin\java.exe" echo 修改broker java启动参数 %ROCKETMQ_HOME%\bin\runbroker.cmd if not exist "%JAVA_HOME%\bin\java.exe" echo Please 启动nameserver start "rocketmq:name" %ROCKETMQ_HOME%\bin\runserver.cmd 6. invite_code=1fo0v6q7hocxs
本文主要讲述: 生产级的rocketmq消息集群的部署。 (1).集群形式 (2).源码编译 (3).生产级硬件资源与节点拓扑 (4).namersrv节点部署 (5).broker节点部署 (6).rocketmq-console后台部署 (7).rocketmq rocketmq-c1-broker000: 开6G部署master-0 /app/3rd/apache-rocketmq-broker-master-0 rocketmq-c1-broker001: rocketmq-c1-broker002: 开6G部署master-1 /app/3rd/apache-rocketmq-broker-master-1 rocketmq-c1-broker003: (6).rocketmq-console后台部署 下载: git clone -b release-rocketmq-console-1.0.0 https://github.com/apache/rocketmq-externals.git
这里使用了两台虚拟机,部署的是多master和多slave的异步复制模式,部署结构为: 关于jdk和maven的部署安装这里就不再写了,直接去下载二进制包,然后设置好环境变量即可 这里使用的rocketmq 的包是从官方下载的二进制包,版本为4.3.2,可以直接Google rocketmq downlaod来选择相应的版本来下载 配置部署 1)下载并解压 wget http://mirrors.tuna.tsinghua.edu.cn /apache/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip unzip rocketmq-all-4.3.2-bin-release.zip 把rocketmq > /usr/local/rocketmq/logs/broker-b.log 2>&1 & 6)验证 sh /usr/local/rocketmq/bin/mqadmin clusterList _3_2 0.00(0,0ms) 0.00(0,0ms) 0 432297.61 -1.0000 如果这里都没有问题之后,下面再部署
Hadoop集群部署教程-P6 Hadoop集群部署教程(续) 第二十一章:监控与告警系统集成 21.1 Prometheus监控体系搭建 Exporter部署: # 部署HDFS Exporter wget 0.1389em;margin-right:0.05em;"><span class="sizing reset-size<em>6</em>
大纲1.什么是消息中间件2.消息中间件的技术选型3.RocketMQ的架构原理和使用方式4.消息中间件路由中心的架构原理5.Broker的主从架构原理6.高可用的消息中间件生产部署架构7.部署一个小规模的 6.高可用的消息中间件生产部署架构(1)MQ生产部署架构的设计任务(2)NameServer集群化部署保证高可用性(3)基于Dledger的Broker主从架构部署(4)Broker如何跟NameServer 的部署(5)完成一组Broker集群的部署(6)编写最基本的生产者和消费者代码准备压测(1)部署一个小规模的RocketMQ集群既然已经完成了RocketMQ生产架构的设计了,接着就得一步一步完成真正的生产集群的部署 (2)公司分配的第一批机器RocketMQ集群部署的规划如下:一.NameServer:3台机器,每台机器都是8核CPU + 16G内存 + 500G磁盘 + 千兆网卡二.Broker:6台机器,每台机器都是 因此在部署时:NameServer采用3台机器部署,Broker采用6台机器部署,2个Master Broker和4个Slave Broker。
RocketMQ详解(6)——Producer详解 一. Producer的特性 消息过滤 对于Producer,可以对单个主题发送消息,也可以对多个主题发送消息,这种设计非常灵活。 Producer的模式 RocketMQ提供了三种不同模式的Producer: 普通模式:NormalProducer 这种模式自不必说,使用传统的send()方法发送消息即可。 事务模式:TransactionProducer 支持以事务的方式对消息进行提交处理,在RocketMQ中事务消息分为两个阶段: 第一个阶段将消息预发送给Broker,此时消息已经在队列中了,但是消费端不可见 RocketMQ在消息重试机制上有很好的支持,但是重试可能会引起重复消息的问题,这需要在逻辑上进行幂等处理。 RocketMQ可支持Topic的自动创建,也可手动调用createTopic方法创建。
;第二部分就是纯手动搭建了一套环境;第三部分是基于环境进行测试和集成到SpringBoot,因为整个过程讲的比较细,所以我称之为“保姆级教程”。 1、创建一个目录,用来存放rocketmq相关的东西 mkdir /usr/rocketmq cd /usr/rocketmq 2、下载并解压rocketmq 下载 wget https://archive.apache.org /dist/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip 解压 unzip rocketmq-all-4.7.1-bin-release.zip 看到这一个文件夹就完成了 然后进入rocketmq-all-4.7.1-bin-release文件夹 cd rocketmq-all-4.7.1-bin-release RocketMQ的东西都在这了 jar包可以从这获取 链接:https://pan.baidu.com/s/16s1qwY2qzE2bxR81t5Wm6w 提取码:s0sd 将jar包上传到服务器,放到/usr/rocketmq的目录底下
构建镜像 下载rocketmq-docker源码 根据需要修改自定义启动脚本 image-build\scripts\ runbroker-customize.sh runserver-customize.sh 这两个脚本会覆盖到容器${ROCKETMQ_HOME}/bin/路径中 在image-build路径执行命令 sh build-image.sh RMQ-VERSION BASE-IMAGE 支持的 RocketMQ版本参数RMQ-VERSION在这里查询。 启动服务 启动name server docker run --name rmqnamesrv --restart=always -d -p 9876:9876 apacherocketmq/rocketmq 部署参考
Mac部署RocketMQ 下载RocketMQ 启动 进入bin目录 cd /Users/xguo/Documents/java/rocketmq-4.9.3/bin 启动路由 nohup sh mqnamesrv rocketmqlogs/broker.log 查看已启动的Java进程 jps 使用终端测试发送/接收消息 发送消息 # 进入目录 cd /Users/xguo/Documents/java/rocketmq export NAMESRV_ADDR=localhost:9876 # 通过 bin 目录下的 tools.sh 脚本,使用安装包的Demo发送消息 sh tools.sh org.apache.rocketmq.example.quickstart.Producer 接收消息 # 进入目录 cd /Users/xguo/Documents/java/rocketmq-4.9.3/bin # 设置环境变量 export NAMESRV_ADDR=localhost: 9876 # 接收消息 sh tools.sh org.apache.rocketmq.example.quickstart.Consumer 关闭 停止 nameserver sh mqshutdown
单机部署 3. 集群部署 4. Web Console 控制台 5. 简单示例 6. Spring Boot 使用示例 7. Spring Cloud 使用示例 666. 单机部署 可以参考 《Apache RocketMQ —— Quick Start》 文章。 本小节,我们会部署一套 RocketMQ 最小化的单机环境,包括一个 RocketMQ Namesrv 和 Broker 服务。部署完成之后,我们会测试消息的发送与消费。下面,让我们逐步开始。 集群部署 在生产环境下,必须搭建 RocketMQ 高可用集群,不然简直是找死。艿艿有个项目抠门了下,只搭建了一主一从,在一次主挂掉之后,因为 RocketMQ 不支持主从切换,就发生了线上事故。 6.
2.不同开发语言的资源占用对比 (4).如何编译 1.安装go包依赖管理工具govendor 2.使用govendor下载包依赖 3.编译RocketmqExporter (5).相关编译文件说明 (6) .如何进行容器化部署 1.制作镜像 2.提供yaml范例 2.1.使用者需要注意&修改的label 2.2.使用者需要注意&修改的环境变量 3.容器化命令 (7).如何进行实体机部署 (8).如何结合prometheus .如何进行容器化部署 1.制作镜像 直接在目录下执行:rocketmq_exporter.docker-build.sh 镜像名称为:hpy253215039/go-rocketmq-exporter, 建议值:"rocketmq" 3.容器化命令 直接执行: kubectl apply -f go-exporter-deployment-mq-rocketmq-c0.yaml (7).如何进行实体机部署 rocketmq-4:线上rocketmq slave节点的ECS宕机恢复实记 rocketmq-5:生产级rocketmq集群部署 golang实战-1:搭建vim-go开发环境
创建NameServer服务拉去镜像 docker pull rocketmqinc/rocketmq创建nameserver数据卷挂载路径 mkdir -p /docker/rocketmq/data \-p 9876:9876 \-v /docker/rocketmq/data/namesrv/logs:/root/logs \-v /docker/rocketmq/data/namesrv/store /data/broker/logs /docker/rocketmq/data/broker/store /docker/rocketmq/conf创建配置文件vi /docker/rocketmq /data/broker/logs:/root/logs \-v /docker/rocketmq/data/broker/store:/root/store \-v /docker/rocketmq =200000000" \rocketmqinc/rocketmq \sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf 参数说明 参数说明--link
Local模式部署 由于 Local 模式下 Proxy 和 Broker 是同进程部署,Proxy本身无状态,因此主要的集群配置仍然以 Broker 为基础进行即可。 rocketmqlogs/broker_default.log The broker[xxx, 192.169.1.2:10911] boot success 多组节点(集群)单副本模式 一个集群内全部部署 Master 角色,不部署Slave 副本,例如2个Master或者3个Master,这种模式的优缺点如下: 优点:配置简单,单个Master宕机或重启维护对应用无影响,在磁盘配置为RAID10时,即使机器宕机不可恢复情况下 集群 ### 在机器A,启动第一个Master,例如NameServer的IP为:192.168.1.1 $ nohup sh bin/mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME & ### 在机器B,启动第二个Master,例如NameServer的IP为:192.168.1.1 $ nohup sh bin/mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME
和RabbitMQ和Kafka的基本差距,本小节我们来做一个简单的部署和操作。 单机RocketMQ部署 1.下载软件包 #官方地址 https://rocketmq.apache.org/download/ #具体以现场选择版本为准 wget https://dist.apache.org /repos/dist/release/rocketmq/5.1.4/rocketmq-all-5.1.4-bin-release.zip 2.JDK部署 也可以手工安装Oracle JDK,目前测试OpenJDK -v grep |grep "rocketmq\|namesrv\|mqbroker" 正常情况下应该有6个进程,层级如下。 0 rocketmq 6 0 0