千家信息网

Apache RocketMQ如何实现单机部署

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍Apache RocketMQ如何实现单机部署,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!下载程序包直接使用一般就下载已经编译好的二进制文件就好了,下载好以后
千家信息网最后更新 2026年11月01日Apache RocketMQ如何实现单机部署

这篇文章主要介绍Apache RocketMQ如何实现单机部署,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

下载程序包

直接使用一般就下载已经编译好的二进制文件就好了,下载好以后

> unzip rocketmq-all-4.3.0-bin-release.zip
> cd rocketmq-all-4.3.0-bin-release/

启动name server

> nohup sh bin/mqnamesrv &

tail一下日志看看是否已经启动成功
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...

启动Broker

> nohup sh bin/mqbroker -n localhost:9876 &

tail一下日志看看是否已经启动成功
> tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:10911] boot success...

发送消息和接收消息

为了简单测试下,在发送/接收消息之前我们需要设置NAMESRV_ADDR环境变量
> export NAMESRV_ADDR=localhost:9876

发送消息,测试用例中的方式是使用for循环发送了1000条消息
> 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
SendResult [sendStatus=SEND_OK, msgId= ...

关闭服务

> sh bin/mqshutdown broker  The mqbroker(36695) is running...  Send shutdown request to mqbroker(36695) OK
> sh bin/mqshutdown namesrv The mqnamesrv(36664) is running...  Send shutdown request to mqnamesrv(36664) OK

到此,我们已经完成了一个简单的部署以及消息的发送和接收,但是这只是在内网下进行的收发消息。

FAQ

怎么修改name server和broker的启动内存?

一开始按照官网的步骤来操作往往会直接启动不起来,提示内存不足,那是因为name server和broker默认的启动JVM内存是4G,而内存在不够的情况下自然就启动失败了。

这时候需要修改name server和broker的启动内存参数,
broker的启动内存参数在runbroker.sh下修改,windows下则是runbroker.cmd
name server的启动内存参数是在runserver.sh下修改,windows下则是runserver.cmd

需要配置外网访问要怎么配置呢?

在网上见过很多同学在配置外网访问的时候出现问题,得到的提示大多是 No Topic Route Info
这种提示一般都是连接失败了,
1.broker没有允许自动创建topic,且发送消息对应的topic不存在
2.broker没有正确的连接到name server
3.product没有正确的连接到name server

  • 对于情况1,在启动broker的时候添加autoCreateTopicEnable=true参数就好了。

  • 情况2呢,有可能是name server不存在或者是端口冲突,具体可以看日志的报错原因。

  • 情况3的话,一般是端口原因,如果在服务器上本地收发消息都正常但是到了用客户端sdk发消息的时候失败了可以首先查看一下端口本地ping服务器的9876端口和10911端口是否正常,如果正常可以关闭vip通道再次尝试,以JAVA客户端的话就是下面这样
    生产者关闭VIP通道:

producer.setVipChannelEnabled(false);

消费者关闭VIP通道:

consumer.setVipChannelEnabled(false);

关闭VIP通道为什么就可以了呢,是因为VIP通道占用了一个端口,10909端口,而服务器的10909端口没有对外开放,所以导致失败了。

配置文件

这是我的broker.properties配置文件

brokerClusterName = DefaultCluster  brokerName = broker-a  brokerId = 0  deleteWhen = 04  fileReservedTime = 48  brokerRole = ASYNC_MASTER  flushDiskType = ASYNC_FLUSH  brokerIP1=172.17.59.146  brokerIP2=172.17.59.146  namesrvAddr=172.17.59.146:5776  autoCreateTopicEnable=true

因为我没有使用默认的9876端口,所以也有一个name server的配置文件,namesrv.conf

listenPort=5776

也可以直接下载我的broker.properties和namesrv.conf

使用自己的配置文件启动name server和broker的时候都是添加一个指定文件的参数-c 文件路径

以上是"Apache RocketMQ如何实现单机部署"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

消息 端口 内存 文件 配置 参数 通道 情况 时候 服务 日志 服务器 提示 单机 成功 内容 原因 客户 篇文章 测试 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 保险科技 互联网保险 苏州找大状互联网科技有限公司 深圳恒合互联网络科技有限公司 以房互联网科技 易通互联网络科技有限公司 广西互联网科技公司 互联网科技美容 中正互联网科技招聘 互联网实体化科技化 云创客互联网科技公司 银川新华互联网科技职业技术培训学校图片 互联网科技与大数据专业 如何创新互联网科技 爱医互联网络科技 长沙互联网科技 梅州GM互联网络科技有限公司 互联网高科技行业有哪些企业 安徽九吞吴互联网科技有限公司 科技互联网企业在行动 互联网科技公司的优势 易互联网科技有限公司 互联网科技公司发展 阿里互联网科技公司 互联网科技研发水平 允成互联网科技有限公司融资 互联网公司黑科技创始人 山东星卡互联网科技有限公司官网 珠海东科互联网科技有限公司 互联网科技快速发展优美句子
0