Linux环境下配置安装RocketMQ

这篇具有很好参考价值的文章主要介绍了Linux环境下配置安装RocketMQ。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.下载

官网下载:下载链接
根据需要下载自己需要的版本、本文使用下载的是:4.7.0版本
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

2.安装

创建目录,使用ftp工具上传下载的包到上面创建的目录下。

cd /usr/local
mkdir rocketmq-all-4.7.0

注意:rocketmq 需要 Linux 上安装JDK,版本 1.8 以上,如果你 Linux 上已经配置了 Java 环境可跳过,未安装请自行安装。
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
上传之后进行解压:

unzip rocketmq-all-4.7.0-bin-release.zip

Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

解压后目录结构
benchmark:这里面就是一些可以直接运行,进行测试的 sh 文件
bean:该目录是比较常用的,里面是一些可执行文件
conf:这里面就是一些配置文件
lib:就是 mq 所依赖的第三方 jar 包

3.启动

3.1 启动:NameServer

进入 bin 目录 cd bin/

  nohup ./mqnamesrv & 
  或者
  nohup sh bin/mqnamesrv &

查看日志

tail -f ~/logs/rocketmqlogs/namesrv.log

#出现下面信息成功

  The Name Server boot success...

Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

3.2 启动:Broker

在启动之前先修改两个配置

cd bin

vim runserver.sh

mq 默认需要的内存是比较大的,根据自己 Linux 的内存大小去设置,我这里就改成 256 256 128 了

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

cd bin

vim runserver.sh

调整小点

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
注意:这里很坑爹
安装rocketMQ的server后,启动一切正常,但是使用客户端连接时报错、很纳闷这个172.17.42.1是从哪里来的。

Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <172.17.42.1:10911> failed

检查服务器上,这个ip是docker0的虚拟网卡的网关,但是启动rocketMQ时并没有设置这个ip,检查broker.conf和其他配置文件没有发现可以配置ip地址的地方,官方文档里也没有说明。重新编译并没有解决问题,于是把docker网卡停掉,连接还是报同样的错。

因为broker部署在虚拟机,并且虚拟双网卡,client无法正常连接服务端(不是部署到虚拟机的可能不会遇到这个问题、等遇到这个问题在解决)

解决办法:修改broker.conf配置文件添加IP、在conf文件中加入两行(建议直接复制,然后再修改为自己的IP),一定是大写IP!!!!!
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

namesrvAddr = 127.0.0.1:9876
brokerIP1 = 192.168.232.143

启动Broker

nohup ./mqbroker -n localhost:9876 ../conf/broker.conf &

查看日志

tail -f ~/logs/rocketmqlogs/broker.log

看到下面信息代表成功

  The broker[%s, 172.30.30.233:10911] boot success...

注意:不要把打印日志的这个窗口关闭、窗口关闭进程结束了

4.测试

新开开了两个窗口,都在 mq 的 bin 目录下,一个用于发送消息,一个用于接收消息。

前面开的窗口不要关闭、不要关闭。
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
发送消息:

# 声明一个 namesrv 的地址
export NAMESRV_ADDR=localhost:9876
# 发送消息
./tools.sh org.apache.rocketmq.example.quickstart.Producer
# 出现下面信息成功发送
  SendResult [sendStatus=SEND_OK, msgId= ...

接收消息:

# 声明一个 namesrv 的地址
export NAMESRV_ADDR=localhost:9876
# 发送消息
./tools.sh org.apache.rocketmq.example.quickstart.Consumer
# 出现下面信息成功消费
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

5.安装控制台

下载源码:链接
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
修改配置信息:进入到解压的文件夹下修改 application.yml 文件,根据情况修改,注意端口冲突问题。
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
编译源代码、输入cmd进入到目录下(maven已经按照配置完成)
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

mvn clean package -Dmaven.test.skip=true

打包成功之后会生成target目录
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

如果打包中报错:

[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.3:install-node-and-yarn (install node and yarn) on project rocketmq-dashboard: Could not download Yarn: Could not download https://github.com/yarnpkg/yarn/releases/download/v1.22.10/yarn-v1.22.10.tar.gz: Connect to github.com:443 [github.com/20.205.243.166] failed: Connection timed out: connect -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

访问
https://github.com/yarnpkg/yarn/releases/download/v1.22.10/yarn-v1.22.10.tar.gz
手动下载、下载完成后找到maven配置的仓库地址下面的\com\github\eirslett\yarn\1.22.10、手动放进去。如果目录不存在手动创建。

cd  /usr/local/rocketmq-all-4.7.0

#创建目录存放编译好的控制台jar包
mkdir  rocketmq-console

使用ftp工具上传编译后的jar包到创建的目录下:
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

cd /usr/local/rocketmq-all-4.7.0/rocketmq-console

#启动jar包
java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

浏览器访问:注意打包编译源码之前配置文件自己修改的是什么这里端口就是什么。
这里没有设置账号密码、可以直接访问。
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维

5.控制台开启密码登录功能

修改下载的源码的配置文件
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
打开密码配置文件
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
默认users.properties配置如下,需要修改用户名和密码

# Define Admin
admin=admin,1
 
# Define Users
user1=user1
user2=user2

配置用户名和密码

# Define Admin
admin=新密码,1
 
# Define Users
用户名=新密码

修改配置之后、需要重新编译打包、在上传到服务器对应目录下。
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
Linux环境下配置安装RocketMQ,Linux,linux,rocketmq,运维
账号admin密码123456

6.启停脚本

启动脚本:NameServer、Broker、console全部启动
vim startMq.sh

#!/bin/bash

rocketmq_path="/usr/local/rocketmq-all-4.7.0/rocketmq-all-4.7.0-bin-release"
dashboard_path="/usr/local/rocketmq-all-4.7.0/rocketmq-console/rocketmq-dashboard-1.0.1-SNAPSHOT.jar"

function log_info() {
  echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO] $@"
}

function log_error() {
  echo "$(date '+%Y-%m-%d %H:%M:%S') [ERROR] $@" >&2
}

# 启动 mqnamesrv
nohup sh "$rocketmq_path/bin/mqnamesrv" > /dev/null 2>&1 &
log_info "Starting mqnamesrv..."

# 等待 mqnamesrv 启动完成
sleep 5

# 检查 mqnamesrv 是否成功启动
if ! pgrep -f "$rocketmq_path/bin/mqnamesrv" >/dev/null; then
  log_error "Failed to start mqnamesrv."
  exit 1
fi

log_info "mqnamesrv started successfully."

# 启动 mqbroker
nohup sh "$rocketmq_path/bin/mqbroker" -n localhost:9876  -c "$rocketmq_path/conf/broker.conf" > /dev/null 2>&1 &

log_info "Starting mqbroker..."

# 等待 mqbroker 启动完成
sleep 5

# 检查 mqbroker 是否成功启动
if ! pgrep -f "$rocketmq_path/bin/mqbroker" >/dev/null; then
  log_error "Failed to start mqbroker."
  exit 1
fi

log_info "mqbroker started successfully."

# 启动 RocketMQ Dashboard
nohup java -jar "$dashboard_path" > /dev/null 2>&1 &
log_info "mqconsole started successfully..."


# 如果需要,在此处添加其他逻辑和命令

exit 0

停止脚本:NameServer、Broker、console全部停止
vim stopMq.sh文章来源地址https://www.toymoban.com/news/detail-520152.html

#!/bin/bash
sh /usr/local/rocketmq-all-4.7.0/rocketmq-all-4.7.0-bin-release/bin/mqshutdown broker
sh /usr/local/rocketmq-all-4.7.0/rocketmq-all-4.7.0-bin-release/bin/mqshutdown namesrv

# 指定进程名称
process_name="java -jar /usr/local/rocketmq-all-4.7.0/rocketmq-console/rocketmq-dashboard-1.0.1-SNAPSHOT.jar"

# 查询进程是否存在
pid=$(pgrep -f "$process_name")
if [ -n "$pid" ]; then
  echo "Process is running with PID: $pid"
  echo "Attempting to stop the process..."
  # 关闭进程
  kill "$pid"
  sleep 5 # 等待一段时间以确保进程已经停止
  # 再次查询进程是否存在
  pid=$(pgrep -f "$process_name")
  if [ -n "$pid" ]; then
    echo "Failed to stop the process."
  else
    echo "Process stopped successfully."
  fi
else
  echo "No console running."
fi

到了这里,关于Linux环境下配置安装RocketMQ的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RocketMQ在Linux中的安装教程

    对于 RocketMQ 4.3.0版本,官方要求环境如下,其中 Git 用于从 GitHub 获取源码,没有安装也没关系,可以直接下载 官方推荐的流程是:Linux 系统上安装 Git 工具 、Maven、Java JDK Git 工具用于直接从 GitHub 获取 RocketMQ 项目源码下载到 Linux 系统上 然后 Maven 将 RocketMQ 源码进行编译成二

    2024年02月13日
    浏览(30)
  • MQ概述及RocketMQ在Linux下的安装和启动

    MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。 从网上可以查看到很多的关于MQ用途的叙述,但总结起来其实就以下三点: 1.限流削峰 MQ可以将系统的超量请求暂存其中,以便系统后期可以慢慢进行处理,从而避免了

    2024年02月09日
    浏览(35)
  • RocketMQ的windos/linux/docker超详细安装及简单入门!

    本文若有不当之处欢迎提出pr/issue 主要内容: 初识MQ RocketMQ简介 RocketMQ安装 RocketMQ快速入门 SpringBoot集成RocketMQ 最后 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有

    2024年02月03日
    浏览(36)
  • Nginx生产环境配置、elasticsearch生产环境配置、rocketmq生产环境配置 (史上最全)

    在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态web内容服务器、反向代理或者提供压缩服务器的服务器时,期内核参数的调整都是不同的, 概述: 由于默认的linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访

    2024年02月01日
    浏览(58)
  • 常用环境部署(七)——Docker安装RocketMQ

    (1)拉取镜像 (2)创建一个数据目录 即创建一个namesrv数据存储路径 (3)构建namesrv容器  (4)参数说明 参数 说明 -d 以守护进程的方式启动 - -restart=always docker重启时候容器自动重启 - -name rmqnamesrv 把容器的名字设置为rmqnamesrv -p 9876:9876 把容器内的端口9876挂载到宿主机98

    2023年04月14日
    浏览(43)
  • RocketMQ教程-安装和配置

    Linux系统安装配置 RocketMQ 的安装包分为两种,二进制包和源码包。 点击这里 下载 Apache RocketMQ 5.1.3的源码包。你也可以从这里 下载到二进制包。二进制包是已经编译完成后可以直接运行的,源码包是需要编译后运行的。 https://dist.apache.org/repos/dist/release/rocketmq/5.1.3/rocketmq-a

    2024年02月16日
    浏览(38)
  • RocketMQ部署 Linux方式和Docker方式

    准备一台Linux机器,部署单master rocketmq节点 系统 ip 角色 模式 CENTOS 10.4.7.126 Nameserver,broker Master 1. 配置JDK rocketmq运行需要依赖jdk,安装步骤略。 2. 下载和配置 从官网下载安装包 https://rocketmq.apache.org/zh/download/ ,并上传到CENTOS系统中,并进行解压 修改rocketmq启动所需配置文件

    2024年02月12日
    浏览(37)
  • linux下构建rocketmq-dashboard多架构镜像——筑梦之路

    接上篇:linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路-CSDN博客 这里来记录下构建rocketmq-dashboard多架构镜像的方法步骤。 当前rocketmq-dashboard只有一个版本,源码地址如下: https://dist.apache.org/repos/dist/release/rocketmq/rocketmq-dashboard/1.0.0/rocketmq-dashboard-1.0.0-source-release

    2024年02月06日
    浏览(37)
  • linux上构建任意版本的rocketmq多架构x86 arm镜像——筑梦之路

    目前市面上和官方均只有rocketmq x86架构下的docker镜像,而随着国产化和信创适配的需求越来越多,显然现有的x86架构下的docker镜像不能满足多样化的需求,因此我们需要根据官方发布的版本制作满足需求的多架构镜像,以在不同cpu架构下部署使用。  rocketmq官方网站:RocketM

    2024年02月08日
    浏览(52)
  • RocketMQ环境搭建

    环境准备 安装 上传至服务器 mkdir /usr/soft 解压 移动 配置环境变量 末尾加上 输入:wq! 保存并退出, 并使得配置立刻生效: 配置内存大小 配置如下: runbroker.sh runserver.sh 启动NameServer# 启动Broker 测试 发送消息 JAVA_OPT=“${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:

    2024年02月16日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包