实践RocketMQ 双Master-Slave 集群架构搭

发布时间:2020-10-24 00:06:02 作者:Kingstar0423
来源:网络 阅读:149
  1. 准备材料:
    • Linux操作环境( 假设两台服务器ip为:192.168.74.130和192.168.74.131);
    • RocketMQ
    • JDK 1.8+
  2. 分别修改两台服务RockerMQ的配置文件,路径为:rocketmq-4.6.1/conf/2m-2s-async(这里以异步为例)
  1. 启动步骤

    • 分别启动两台服务器的NameSrv (默认端口号为9876)
      nohup sh bin/mqnamesrv &;
    • 分别启动两天服务器的master broker -c 参数指定启动时读取的配置文件的路径,不加读取默认的配置文件
      nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-a.properties & //130上执行启动a broker的master
      nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b.properties & //131上执行启动b broker的master
    • 分别启动两台服务器的slave broker
      nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b-s.properties & //130上执行启动b broker的slave
      nohup sh bin/mqbroker -c ./conf/2m-2s-async/broker-b.properties & //131上执行启动a broker的slave
  2. 使用 jps 命令进行查看服务是否启动
    [root@localhost bin]# jps
    5329 Jps
    3161 NamesrvStartup
    3401 BrokerStartup
    4509 BrokerStartup

    到这里就成功的启动起来了。

  3. 其他命令
    关闭broker : sh bin/mqshutdown broker
    关闭namesrv:sh bin/mqshutdown namesrv
  4. 问题总结:
    1.启动broker时报jvm内存不足
    原因:默认jvm 内存配置高于物理内存配置
    解决方法:修改bin目录下runbroker.sh、runserver.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m"
    JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    2.broker 无法注册另外一台namesrv
    原因:
    1. 网络不可达 (检查网络)
    2. 检查防火墙是否开启(关闭防火墙命令 systemctl stop firewalld)
      3.启动多个broker时报broker已启动
      原因:
      1.启动时没有指定配置文件或未修改配置文件监听端口,导致端口冲突;
      2.未指定日志文件路径或路径一致;
推荐阅读:
  1. 支付宝和蚂蚁花呗的技术架构及实践
  2. 阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

rocketmq双master master-slave st

上一篇:如何利用Python开发一个简单的猜数字游戏

下一篇:react中的ajax封装实例详解

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》