【安装教程】Linux RocketMQ 4.5.1安装及问题总结

怼烎@ 2024-04-17 18:52 53阅读 0赞

【引言】

前段时间在项目中添加了对接RocketMQ4.5.1版本的客户端代码,服务端不是自己搭建的,所以自己在虚拟机上试验了一把,过程中遇到不少问题,写篇博客记录一下。

【环境】

  • Java版本:java version “1.8.0_162”
  • Maven版本:Apache Maven 3.5.0
  • RocketMQ版本:rocketmq-rocketmq-all-4.5.1

【步骤】

  1. 下载压缩包,下载地址:https://github.com/apache/rocketmq/releases/tag/rocketmq-all-4.5.1
  2. 解压文件并构建

    官网上提供了zip和tar.gz,两种格式的压缩文件任选一种即可

    • 解压zip格式文件
      unzip rocketmq-all-4.3.1-source-release.zip -d /usr/local/rocketmq/

    -若提示未安装unzip命令,执行yum install zip 和 yum install unzip命令即可

    • 解压tar.gz格式文件
      tar -zxvf rocketmq-rocketmq-all-4.5.1.tar.gz -C /usr/local/rocketmq/

    • 解压后执行maven命令构建
      mvn -Prelease-all -DskipTests clean install -U

构建成功,提示如下:
在这里插入图片描述
进入到目录

cd distribution/target/rocketmq-4.5.1/rocketmq-4.5.1

  1. 启动NameServer

    nohup sh bin/mqnamesrv &

    若上述命令错误,可使用:
    nohup sh bin/mqnamesrv >/dev/null 2>&1 &

    查看日志命令,是否启动成功:
    tail -f ~/logs/rocketmqlogs/namesrv.log

    或使用jps,NamesrvStartup存在,则表示启动成功:
    7984 NamesrvStartup
    8395 Bootstrap
    14059 Jps

  2. 启动broker

    nohup sh bin/mqbroker -n localhost:9876 &

    查看日志,是否启动成功:
    tail -f ~/logs/rocketmqlogs/broker.log

    或使用jps,BrokerStartup存在,则表明启动成功:
    8019 BrokerStartup
    8395 Bootstrap
    14059 Jps

  3. 关闭服务器命令

    sh bin/mqshutdown broker //停止 broker

    sh bin/mqshutdown namesrv //停止 nameserver

【控制台】

为了方便查看生产者、消费者及消息信息,我们可以再安装一个控制台,可在页面上操作。

  1. 下载地址:

    https://github.com/apache/rocketmq-externals

  2. 下载好后,解压,进入 rocketmq-console/src/main/resources,修改对应的配置文件信息:

    server.contextPath=/rocketmq-console
    server.port=8090

    spring.application.index=true

    spring.application.name=rocketmq-console
    spring.http.encoding.charset=UTF-8
    spring.http.encoding.enabled=true
    spring.http.encoding.force=true
    logging.config=classpath:logback.xml

    if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876

    修改为自己的namesrv地址信息

    rocketmq.config.namesrvAddr=192.168.17.141:9876

    if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true

    配置为true,启动broker需要配置对应的ip地址

    rocketmq.config.isVIPChannel=true

  3. 进入 rocketmq-console目录打包,命令如下:

    mvn clean package -Dmaven.test.skip=true

在这里插入图片描述

  1. 打包成功后,直接在target目录下执行java -jar rocketmq-console-ng-1.0.1-sources.jar命令,启动
  2. 若安装成功,页面显示如下:(若启动成功,但访问不到,则可能是防火墙问题,下面问题中会提到)

在这里插入图片描述

【问题】

  1. 在启动Broker时,查看日志,提示内存不足,查看bin目录下的runserver.sh 和 runbroker.sh文件,可以看到默认的内存大小,都比较大,我们自己修改小一些即可:
    在这里插入图片描述
  2. 防火墙问题,安装好控制台后,本机访问不到,因为虚拟机开了防火墙,我们可以将其关闭,或设置对某些端口开放,常用命令如下:

    • 查看firewall服务状态

      systemctl status firewalld

    • 查看firewall的状态

      firewall-cmd —state

    • 开启、重启、关闭、firewalld.service服务

      开启

      service firewalld start

      重启

      service firewalld restart

      关闭

      service firewalld stop

    • 查看防火墙规则

      firewall-cmd —list-all

    • 查询、开放、关闭端口

      查询端口是否开放

      firewall-cmd —query-port=8080/tcp

      开放80端口

      firewall-cmd —permanent —add-port=80/tcp

      移除端口

      firewall-cmd —permanent —remove-port=8080/tcp

      重启防火墙(修改配置后要重启防火墙)

      firewall-cmd —reload

      参数解释

      1、firwall-cmd:是Linux提供的操作firewall的一个工具;
      2、—permanent:表示设置为持久;
      3、—add-port:标识添加的端口;

【总结】

服务端安装成功了,并不意味着在客户端对接中就能顺利进行了。下篇博客,将总结springboot与rocketmq-client 4.5.1版本的集成,其中遇到一些问题,是需要修改服务端的一些配置处理的。

发表评论

表情:
评论列表 (有 0 条评论,53人围观)

还没有评论,来说两句吧...

相关阅读