一 部署阶段

1.启动命令

nameServer启动:nohup sh bin/mqnamesrv  -n ip地址:9876 &

broker启动:nohup sh bin/mqbroker -n ip地址:9876 autoCreateTopicEnable=true  -c conf/broker.conf &

注:autoCreateTopicEnable配置是否自动创建主题

2.服务关闭命令

nameServer关闭: sh bin/mqshutdown namesrv

broker关闭: sh bin/mqshutdown broker

3.启动Broker如果因为内存不足失败,需要编辑如下两个配置文件,修改JVM内存大小

vi runbroker.sh
vi runserver.sh

参考设置:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

在Linux中,如果仍然内存溢出,可以尝试配置swap空间。

4.在云服务器上部署要注意的问题

4.1 要在安全组中配置rocketmq使用到的几个端口号为开放状态,如下图,否则会出现连接不上的情况

4.2 云服务器实例的公网访问一般通过私有网卡映射完成,在实例内部无法查询到公网IP地址

所带来的影响是,软件自动识别的出的IP地址是内网地址,无法访问,需要显式的配置公网IP地址。

在rocketmq中如何配置,会在下面说明。

二 生产者服务发送消息

1.代码报错:connect to <x.x.x.x:10911> failed或者sendDefaultImpl call timeout。

请检查broker启动日志中的brokerIP地址和生产者所在地址是否能连通

The broker[broker-a, x.x.x.x:10911] boot success. serializeType=JSON and name server is x.x.x.x:9876

这里默认是系统自动识别的IP地址,可能是无法连接的内网地址。

需要在conf/broker.conf中配置brokerIP1,配置为公网IP

为何broker和生产者需要联通,可以参考下图理解。

生产者服务需要和nameServer以及broker进行数据交换,所以它们之间的网络需要是联通的。

同理,消费者服务也需要和nameServer以及broker网络联通。

2.消息发送成功后,就可以在管理控制台rocketmq-console中看到发送的消息了。

最新文章

  1. python class metaclass instance
  2. Scalaz(55)- scalaz-stream: fs2-基础介绍,fs2 stream transformation
  3. MySQL表结构及数据的备份
  4. LNMP安装一键安装包
  5. ltib学习抄录
  6. MFC网页访问的实现示例
  7. Linux下wps字体问题
  8. Java线程:总结
  9. JS验证电话号是否合法
  10. ECMAScript版本号总结
  11. 201521123003《Java程序设计》第8周学习总结
  12. 【转】DataTable与实体类互相转换
  13. Spring如何加载log4j配置文件
  14. css3 弹性效果上下翻转demo
  15. Children&#39;s Game UVA - 10905
  16. Python爬虫实战(二):爬百度贴吧
  17. [转]使用Runtime.getRuntime().exec()方法的几个陷阱
  18. 试着用React写项目-利用react-router解决跳转路由等问题(二)
  19. 一:My Batis快速入门
  20. 【Java集合的详细研究7】Set和List 的关系与区别

热门文章

  1. 如何查看spark版本
  2. Android Hook学习之ptrace函数的使用
  3. 一份释放root文件的脚本文件
  4. hdu2102 水搜索
  5. hdu4982 暴搜+剪枝(k个数和是n,k-1个数的和是平方数)
  6. Windows PE第九章 线程局部存储
  7. windows核心编程-第二章 Unicode
  8. 基于Neptune开发板的键盘蓝牙模块DIY指南
  9. 浅谈持续集成(CI)、持续交付(CD)、持续部署(CD)
  10. 测开之Python自动化全栈工程师+性能专项(送思维导图)