RocketMQ部署中遇到的问题
- 内存不够用
因为使用的自己的服务器, 内存只有2G. 而rocketMQ最少需要启动两个服务即NameServer 和 broker
启动脚本配置的内存特别大.-Xms1G -Xmx4G
所以对于内存不足的情况. 我们需要修改内存.
方法:
共需要修改这几个文件, 具体后缀是sh还是cmd视自己部署的平台. linux里为sh . windows为cmd.
以runbroker.sh
为例:
将-Xms
和-Xmx
设为合适的内存大小即可 - 推送消息的时候, 报错: sendDefault call timeout
发送超时, 未连接到borker发送端口.
broker的默认端口有3个,10911, 10912, 10909。
10911是remotingServer使用的监听端口,remotingServer主要处理以下三类消息
producer发送的消息
conumser在消费失败或者消费超时发送的消息
consumer拉取消息
10912是主broker用于监听从broker请求的监听端口
10909是fastRemotingServer使用的监听端口,与remotingServer相似,但是不包含处理拉取消息的请求。在vipChannelEnabled开启时,producer,consumer发送消息才发送到fastRemotingServer
所以我们需要对producer开放这几个端口信息 - producer发送消息/consumer接收消息注册时提示. connect to null failed
这是提示我们没有连接到nameserver. 先确认nameserver地址. 及nameserver配置的端口号. 与producer/consumer配置的nameserver地址进行对比. 例如: nameserver地址为:114.115.154.21
config文件里配置的端口号是
10909
(默认为9876
) . 则我们再producer/consumer配置的地址应该为:114.115.154.21:10909
如果还没解决掉问题, 这时候就要排除掉配置原因. 检查自己的防火墙配置是否开放端口号. ip是否允许连接等等
评论区