首页 > 其他分享 >RocketMQ5部署单节点服务

RocketMQ5部署单节点服务

时间:2024-09-08 22:49:02浏览次数:8  
标签:bin 启动 部署 broker sh RocketMQ RocketMQ5 节点 rocketmq

关于RocketMQ的单节点部署官方文档已经描述得非常清楚了,这里只是做一个简单的备忘。
如下安装步骤均基于最新的Apache RocketMQ 5.3.0实现。

下载安装RocketMQ

直接下载官方编译后的二进制包到本地并解压。

$ unzip rocketmq-all-5.3.0-bin-release.zip

默认情况下,启动RocketMQ至少需要4G内存(当Java版本小于9时默认的新生代大小为2G),如果安装RocketMQ的环境没有这么大的内存空间时需要修改对应的JVM参数。
如下在Java 8环境中修改RocketMQ的初始内存参数(ROCKETMQ_HOME为RocketMQ的安装目录)。
修改ROCKETMQ_HOME/bin/runserver.sh

修改ROCKETMQ_HOME/bin/runbroker.sh

启动NameServer

# 启动namesrv
$ nohup sh bin/mqnamesrv &

# 验证namesrv是否启动成功
# 如果在namesrv.log中看到'The Name Server boot success..', 表示NameServer已成功启动
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...

启动Broker+Proxy

NameServer成功启动后,需要启动Broker和Proxy。 在这里使用Local模式部署,即Broker和Proxy同进程部署。
5.x版本也支持Broker和Proxy分离部署以实现更灵活的集群能力,详见部署教程

# 启动broker和proxy
$ nohup sh bin/mqbroker -n localhost:9876 --enable-proxy &

# 验证broker是否启动成功, 比如broker的ip是192.168.3.156,然后名字是broker-a
# 在proxy.log中看到“The broker[brokerName,ip:port] boot success..”,这表明broker已成功启动
$ tail -f ~/logs/rocketmqlogs/proxy.log
The broker[broker-a,192.168.3.156:10911] boot success...

关闭服务

可以通过以下方式关闭服务。

# 关闭Broker和Proxy
$ sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker with proxy enable OK(36695)

# 关闭NameServer
$ sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

安装图形化界面

RocketMQ Dashboard是RocketMQ的管控利器,为用户提供客户端和应用程序的各种事件、性能的统计信息,支持以可视化工具代替Topic配置、Broker管理等命令行操作。

下载rocketmq-dashboard源码后,根据情况修改application.yml中的参数值,如:server.portrocketmq.config.namesrvAddrsrocketmq.config.proxyAddrrocketmq.config.proxyAddrs等。

编译rocketmq-dashboard

$ mvn clean package -Dmaven.test.skip=true

运行rocketmq-dashboard

$ java -jar target/rocketmq-dashboard-1.0.1-SNAPSHOT.jar

提示:Started App in x.xxx seconds (JVM running for x.xxx) 表示启动成功。

浏览器页面访问:rocketmq-dashboard.addr:server.port即可看到控制台界面。

测试消息收发

工具测试消息收发

# 通过环境变量设置NameServer地址
$ export NAMESRV_ADDR=localhost:9876

# 发送消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

# 接收消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

SDK测试消息收发

第一步:在Maven项目的pom.xml文件中引入SDK依赖。

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-client-java</artifactId>
    <version>${rocketmq-client-java-version}</version>
</dependency> 

第二步:通过mqadmin创建Topic。

$ sh bin/mqadmin updatetopic -n localhost:9876 -t TestTopic -c DefaultCluster

第三步:编写消息生产者和消费者,具体示例详见java example

值得注意的是:RocketMQ支持SimpleConsumer和PushConsumer两种消费者类型,可以选择其中任意一种方式订阅消息。

【参考】
RocketMQ5.x单机部署
Rocketmq 5.x 开启proxy导致8080/8081端口冲突
Rocketmq 5.x Java 客户端
rocketmq5.x创建topic
RocketMQ5.0以上版本定时/延时消息的topic,除了手动用mqadmin创建,别的方式吗?
RocketMQ Dashboard

标签:bin,启动,部署,broker,sh,RocketMQ,RocketMQ5,节点,rocketmq
From: https://www.cnblogs.com/nuccch/p/18403658

相关文章

  • 华为笔试——输出单向链表中倒数第k个节点
    描述输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第1个结点为链表的尾指针。链表结点定义如下:struct ListNode{    int m_nKey;    ListNode* m_pNext;};正常返回倒数第k个结点指针,异常返回空指针.要求:(1)正序构建链表;(2)构建后要忘记链表长度......
  • Jenkins+Github+Nginx实现前端项目自动部署
    前言最近在搭建一个自己的网站,网站框架搭好了要把项目放到服务器运行,但是每次更新网站内容就要手动部署一次,实在很麻烦,于是就想搭建一套自动化部署的服务。看了一些案例最后选用现在比较主流的Jenkins+Github+Nginx的方案来搭建,于是跟着教程去做,看了很多教程其实不是太......
  • Day04 链表part02| LeetCode 24. 两两交换链表中的节点,19. 删除链表的倒数第 N 个,160.
    两两交换链表中的节点24.两两交换链表中的节点classSolution{publicListNodeswapPairs(ListNodehead){//设置虚拟头节点ListNodedummy=newListNode(0,head);ListNodecur=dummy;while(cur.next!=null&......
  • 基于SpringBoot的美食分享平台设计与实现,LW+源码+部署讲解
    一、绪论1.1研究意义当今社会作为一个飞速的发展社会,网络已经完全渗入人们的生活,网络信息已成为传播的第一大媒介,可以毫不夸张说网络资源获取已逐步改变了人们以前的生活方式,网络已成为人们日常,休闲主要工具。人们记录、分享和发现美食的方式正在逐渐发生改变,因此借助怎......
  • 基于JAVA的景区行李寄存系统设计与实现,LW+源码+部署讲解
    摘要 针对传统人工行李寄存效率低和安全性不足等问题,设计并实现了一种由网页控制器组成的智能行李寄存系统。首先能够实现行李的寄存管理和行李柜管理以及记录查询和通知公告以及管理员等灵活控制菜单显示权限。经过研究和测试结果显示,该行李寄存系统实现了行李的安全、高效......
  • 基于Javaweb实现的物流管理系统设计与实现(源码+数据库+论文+部署+文档+讲解视频等)
    文章目录1.前言2.详细视频演示3.论文参考4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.可行性分析7.系统测试7.1系统测试的目的7.2系统功能测试8.数据库表设计9.代码参考10.数据库脚本11.作者推荐项目12.为什么选择我?13.获取源......
  • 基于Java实现的酒店管理系统设计与实现(源码+数据库+部署+文档+讲解视频等)
    文章目录1.前言2.详细视频演示3.论文参考4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.可行性分析7.系统测试7.1系统测试的目的7.2系统功能测试8.数据库表设计9.代码参考10.数据库脚本11.作者推荐项目12.为什么选择我?13.获取源......
  • ROS - 一个进程中创建多个ROS节点
    文章目录1、概述2、方法1:创建多个命名空间3、方法2:使用多线程4、方法3:节点间通信(分离进程)4、实际验证不可行方案1:两次调用ros::init1、概述在ROS(RobotOperatingSystem)中,每个进程通常只能通过ros::init初始化一个节点。ROS的设计是基于一个进程对应一......
  • kubelet监控worker节点如何实现
    Kubelet是Kubernetes中的关键组件,负责在每个工作节点(workernode)上管理容器和Pod。监控工作节点的状态和性能是Kubelet的重要功能之一。以下是Kubelet监控工作节点的实现原理和方式:1.NodeStatusReporting心跳机制:Kubelet定期向KubernetesAPIServer发送心跳信......
  • k8s节点维护注意事项
    在Kubernetes中,对节点进行维护时,需要遵循一些最佳实践和注意事项,以确保集群的稳定性和可用性。以下是一些关键的注意事项:1.提前计划维护窗口选择合适的时间:选择一个低负载时段进行维护,以减少对用户的影响。通知团队:提前通知相关团队和用户,确保他们了解维护时间和可能的影响......