zoukankan      html  css  js  c++  java
  • 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"

    在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中看到发送的消息了。

  • 相关阅读:
    低功耗计算机视觉技术前沿,四大方向,追求更小、更快、更高效
    ELECTRA中文预训练模型开源,性能依旧媲美BERT
    局部敏感哈希源代码-python
    利用局部敏感哈希改进推荐系统实时性
    局部敏感哈希算法介绍
    为什么要用局部敏感哈希
    多采用panda的数据处理方式
    delphi:文件操作
    delphi:常用函数
    delphi:打印日志
  • 原文地址:https://www.cnblogs.com/wsw-tcsygrwfqd/p/14826393.html
Copyright © 2011-2022 走看看