Ubuntu 安装启动rocket及踩坑记录

安装
下载
wget http://archive.apache.org/dist/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip
解压
unzip rocketmq-all-4.2.0-bin-release.zip -d /usr/local/rocketmq-all-4.2.0-bin-release
配置Java环境变量,配置玩后刷新

重新加载: source /etc/profile
路径
/usr/local/rocketmq-all-4.2.0-bin-release
bin路径下启动
(测试启动提示nohup: ignoring input and appending output to ‘nohup.out’不影响启动)
nohup sh mqnamesrv &
nohup sh mqbroker -n localhost:9876 &

bin目录下停止
sh mqshutdown namesrv
sh mqshutdown broker

====================问题解决======================================================

问题一-
正常安装启动报错 ignoring input and appending output to ‘nohup.out’

解决方式
1、创建日志目录
/usr/local/java/rocketmq-all-4.2.0-bin-release/logs/mqnamesrv.log
/usr/local/java/rocketmq-all-4.2.0-bin-release/logs/mqbroker.log
(创建文件指令mdkir logs, touch mqnamesrv.log)

2、任意路径下运行
启动mqnamesrv
nohup sh /usr/local/rocketmq-all-4.2.0-bin-release/bin/mqnamesrv > /usr/local/rocketmq-all-4.2.0-bin-release/logs/mqnamesrv.log 2>&1 &
启动mqbroker
nohup sh /usr/local/rocketmq-all-4.2.0-bin-release/bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true> /usr/local/rocketmq-all-4.2.0-bin-release/logs/mqbroker.log 2>&1 &

3、查看是否启动成功
任意目录下输入指令jps

21287 NamesrvStartup      //代表mqnamesrv 启动成功
22858 Jps
22236 BrokerStartup      //代表mqbroker 启动成功

问题二:启动报错误内存不足

JRE version: (8.0_172-b11) (build )
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.172-b11 mixed mode linux-amd64 compressed oops)
Java运行时环境的内存不足,无法继续,本机内存分配(mmap)未能映射8589934592字节,用于提交保留内存

此问题需要改启动内存配置分配


解决办法,bin目录下 找到runserver.sh和runbroker.sh,编辑
JAVA_OPT=”${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m”
改成如上的配置,然后kill掉之前的进程,重新启动

问题三:rocketmq 连接异常 sendDefaultImpl call timeout

解决办法:

修改conf文件下broker.conf文件,新增下面这行

  • 第一步:首先来到rocketmq目录下,修改conf文件夹下broker.conf 文件当中的配置
brokerIP1 = 192.168.118.128【宿主机IP,自行修改】
autoCreateTopicEnable=true
  • 第二步:如果正在运行mqnamesvr还有mqbroker的话,需要先shutdown它们
#停止broker,这里是在rocketmq目录下,不是在bin目录下
sh bin/mqshutdown broker
#停止namesvr
sh bin/mqshutdown namesrv
  • 第三步:重新运行mqnamesvr和mqbroker

#后台启动namesvr,这里的IP地址记得更换为自己的服务器
nohup sh bin/mqnamesrv -n "192.168.118.128:9876" &

#后台运用刚刚更改的配置文件启动mqbroker
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf autoCreateTopicEnable=true &

 如果还不行,可以尝试把timeout设置长点试试 producer.setSendMsgTimeout(10000);

==============待更,发现其他问题再补充========================

原文地址:https://www.cnblogs.com/xiaobug/p/14750348.html