1. rocketMQ安装:
编译完成以后准备启动项目,注意:bin的位置是编译后target目录下,启动命令在这里。
linux命令目录:你的目录/rocketmq-all-4.2.0/distribution/target/apache-rocketmq/bin
windows命令目录:你的目录\rocketmq-3.5.8\target\alibaba-rocketmq-broker\alibaba-rocketmq\bin
如果嫌层级太深,可以将里面的内容拷贝出去,将第一层内容覆盖掉。
2. linux 下启动后 broker 无法启动:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f85b2000000, 33554432, 0) failed; error=‘Cannot allocate memory‘ (errno=12)
There is insufficient memory for the Java Runtime Environment to continue. Native memory allocation (mmap) failed to map 33554432 bytes for committing reserved memory.
broker启动时,默认要获取8G内存,如果服务器内存不够,将启动失败。
需要修改启动脚本runbroker.sh中的启动参数:
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn521m"
3. linux 下启动后 broker 返回内网地址,外网服务器无法连接:
本地报错显示Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <10.19.73.64:10911> failed
需要修改启动参数,将broker绑定地址设置为外网地址:
#进入rocketmq根目录
cd incubator-rocketmq/distribution/target/apache-rocketmq
#编写配置文件,并写好配置
echo "brokerIP1=10.19.73.64的外网IP" > broker.properties
#启动 mqnamesrv
nohup sh bin/mqnamesrv &
#重点:mrbroker 启动时通过 -c 加载配置文件
nohup sh bin/mqbroker -n ${namesrvIp}:9876 -c /opt/rocketmq/incubator-rocketmq/distribution/target/apache-rocketmq/broker.properties &
参见:https://www.cnblogs.com/smail-bao/p/6905460.html
4. RocketMQ报No route info of this topic:异常
1). 第一种情况:我遇到的情况都是broker没有正常启动,需要保证broker正常启动
2). 第二种情况:
linux系统下,在启动mqbroker的时候需要指定autoCreateTopicEnable=true。例如:
nohup sh mqbroker -n 192.168.180.133:9876 autoCreateTopicEnable=true > ~/logs/rocketmqlogs/broker.log 2>&1 &
window系统下:
在window系统下需要在cmd中启动mqbroker才行。命令格式如下:
mqbroker.exe -n localhost:9876 autoCreateTopicEnable=true
参见:http://blog.csdn.net/zknxx/article/details/52987216
其他参考:
https://www.jianshu.com/p/ca3a87bed2c2
http://www.bijishequ.com/detail/532581
http://blog.csdn.net/c_yang13/article/details/76836753