Apache RocketMQ是一个分布式、队列模型的消息中间件,具备低延迟、高性能和高可靠、万亿级容量和灵活的可扩展性。核心组件由四部分组成:Name Servers,Brokers,Producer 和 Consumer;它们中的每个均可以水平扩展,而没有单一的故障节点。java
直接找最新版下载后解压 rocketmq.apache.org/release_not… git
修改 conf/broker.conf
添加如下配置 github
brokerIP1:配置broker所在服务器的ip地址,以便Name Server链接apache
修改 runserver.sh
和 runbroker.sh
(可不改) 由于rocketMQ默认的启动参数内存占用很是大,若是环境没有这么多内存就必需修改JAVA_OPT
参数安全
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
复制代码
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
复制代码
nohup sh bin/mqnamesrv &
复制代码
查看运行日志:tail -f ~/logs/rocketmqlogs/namesrv.logbash
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &
复制代码
经过-c参数指定配置文件 查看运行日志:tail -f ~/logs/rocketmqlogs/broker.log服务器
若是须要中止RocketMQ的服务,在生产环境不建议直接用kill,应该使用如下命令maven
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
复制代码
mvn clean package -Dmaven.test.skip=true
复制代码
nohup java -jar \
-Drocketmq.config.namesrvAddr=192.168.28.130:9876 \
-Drocketmq.config.isVIPChannel=false \
rocketmq-console-ng-1.0.0.jar &
复制代码
在客户端的 Producer
运行起来准备发送消息时抛异常为 “ No route info of this topic ” 异常产生的缘由多是:tcp
Broker
禁止自动建立 Topic
,且用户没有经过手工方式建立 TopicBroker
没有正确链接到 Name Server
Producer
没有正确链接到 Name Server
Broker
禁止自动建立 Topic
,且用户没有经过手工方式建立 Topic
autoCreateTopicEnable=true
证实是没有问题的
Broker
没有正确链接到 Name Server
经过查看broker的日志 tail -f ~/logs/rocketmqlogs/broker.log
看看有没有错误信息
Producer
没有正确链接到 Name Server
Name Server
的地址有没有错9876
端口有没有开发9876
端口 bash [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --list-ports 8090/tcp 80/tcp 8080/tcp [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --add-port=9876/tcp --permanent success [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --reload success [root@zlt rocketmq-all-4.5.0-bin-release]# firewall-cmd --zone=public --list-ports 9876/tcp 8090/tcp 80/tcp 8080/tcp
Producer
运行起来准备发送消息时抛异常以下Name Server
链接不上Broker
检查 rocketmq-console
的集群页签,broker
的地址是否正确 分布式
broker
地址的配置方式请参考
安装部署
中提到的步骤:
broker.conf
的配置,添加 brokerIP1
参数broker
时加上 -c
参数指定配置文件
死信队列默认的 perm
值为2没有查看权限
在控制台把队列的 perm
改成6就能够了 **主题点击 TOPIC配置
**
推荐阅读
扫码关注有惊喜!