Linux远程服务器rocketMQ踩坑记录!!!

一 部署阶段

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"

 

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

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

Linux远程服务器rocketMQ踩坑记录!!!_第1张图片

 

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

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

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

!!!!!  注意!!!!!  上面内容非常重要!!!!!

 

二 生产者服务发送消息

1.代码报错:connect to 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

Linux远程服务器rocketMQ踩坑记录!!!_第2张图片

 

 

你可能感兴趣的:(java)