RocketMQ 入门指南

1. 下载安装

下载地址:

http://rocketmq.apache.org/dowloading/releases/

我下载的是:rocketmq-all-4.5.2-bin-release.zip

https://archive.apache.org/dist/rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip

解压文件:

unzip rocketmq-all-4.5.2-bin-release.zip
mv rocketmq-all-4.5.2-bin-release /usr/local/rocketmq

默认的 RocketMQ 占用内存多达 8G,很变态,在阿里云买的入门级 ECS 根本都跑不起来,需要修改默认 JVM 内存大小,编辑 tool.shrunbroker.shrunserver.sh 三个文件,我本机用于测试,设置的比较小:

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m"

2. 启动 NameServer

默认启动 NameServer:

nohup sh /usr/local/rocketmq/bin/mqnamesrv &

查看启动日志:

tail -f ~/logs/rocketmqlogs/namesrv.log

3. 启动 Broker

默认启动 Broker:

nohup sh /usr/local/rocketmq/bin/mqbroker -n 127.0.0.1:9876 &

查看启动日志:

tail -f ~/logs/rocketmqlogs/broker.log

4. 测试 Producer 和 Consumer

验证生产消息:

export NAMESRV_ADDR=127.0.0.1:9876
sh /usr/local/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

验证消费消息:

sh /usr/local/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

5. 停止服务

首先停止 Broker:

sh /usr/local/rocketmq/bin/mqshutdown broker

再停止 NameServer:

sh /usr/local/rocketmq/bin/mqshutdown namesrv

6. 其他命令

查看 Topic:

sh /usr/local/rocketmq/bin/mqadmin topicList -n 127.0.0.1:9876

创建 Topic:

sh /usr/local/rocketmq/bin/mqadmin updateTopic -n 127.0.0.1:9876 -b 127.0.0.1:10911 -t ENSKDEMO

设置自动创建 Topoc:

nohup sh /usr/local/rocketmq/bin/mqbroker -n 127.0.0.1:9876 autoCreateTopicEnable=true &

7. 设置公网访问

服务器部署了 RocketMQ 之后,本地想访问需要设置公网 IP,否则会出现 RemotingConnectException:connect to failed 错误,设置流程如下。

指定公网 IP 启动 NameServer:

nohup sh /usr/local/rocketmq/bin/mqnamesrv -n xx.xx.xx.xx:9876 &

xx.xx.xx.xx 为公网 IP

修改服务器中 Broker 配置,添加公网 IP:

vim /usr/local/rocketmq/conf/broker.conf

最下面新增一行:

brokerIP1=xx.xx.xx.xx  # 你的公网 IP

指定公网 IP 和配置文件启动 Broker:

nohup sh /usr/local/rocketmq/bin/mqbroker -n xx.xx.xx.xx:9876 -c /usr/local/rocketmq/conf/broker.conf &

公网服务器也需要开通端口,NameServer 默认监听端口 9876,Broker Master 默认监听端口 10912,Broker 默认监听端口 10911,Broker VIP 通道默认监听端口 10909(关闭VIP通道即可停用该端口)。

作者 Github : tojohnonly , 博客 : EnskDeCode

本文档旨在描述 本文档旨在描述 本文档旨在描述 本文档旨在描述 本文档旨在描述 本文档旨在描述 本文档旨在描述 RocketMQ RocketMQ RocketMQRocketMQRocketMQRocketMQ的多个关键特性实现 的多个关键特性实现 的多个关键特性实现 的多个关键特性实现 的多个关键特性实现 的多个关键特性实现 的多个关键特性实现 的多个关键特性实现 的多个关键特性实现 的多个关键特性实现 原理 ,并对 消息中间件 消息中间件 消息中间件 消息中间件 消息中间件 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 遇到的各种问题进行总结,阐述 RocketMQ RocketMQ RocketMQRocketMQRocketMQ 如何解决这些问题。 如何解决这些问题。 如何解决这些问题。 如何解决这些问题。 文中主要引用了 文中主要引用了 文中主要引用了 文中主要引用了 JMSJMSJMS规范与 规范与 CORBA CORBA CORBA CORBA NotificationNotificationNotificationNotification Notification NotificationNotification 规范 ,规范为我们设计系统指明了 ,规范为我们设计系统指明了 ,规范为我们设计系统指明了 ,规范为我们设计系统指明了 ,规范为我们设计系统指明了 ,规范为我们设计系统指明了 ,规范为我们设计系统指明了 方向,但是仍有不少问题规范没提及对于 方向,但是仍有不少问题规范没提及对于 方向,但是仍有不少问题规范没提及对于 方向,但是仍有不少问题规范没提及对于 方向,但是仍有不少问题规范没提及对于 方向,但是仍有不少问题规范没提及对于 方向,但是仍有不少问题规范没提及对于 方向,但是仍有不少问题规范没提及对于 方向,但是仍有不少问题规范没提及对于 消息中间件 消息中间件 又至关重要。 又至关重要。 又至关重要。 RocketMQRocketMQ RocketMQRocketMQRocketMQ并不遵循任何规范,但是参考了 并不遵循任何规范,但是参考了 并不遵循任何规范,但是参考了 并不遵循任何规范,但是参考了 并不遵循任何规范,但是参考了 并不遵循任何规范,但是参考了 并不遵循任何规范,但是参考了 并不遵循任何规范,但是参考了 各种规范与 各种规范与 同类 产品的 产品的 设计 思想 。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值