Linux下MQ 7.0如何安装?

在Linux环境下安装MQ(以RocketMQ 7.0为例)需要经过环境准备、软件下载、配置部署、服务启动及验证测试等步骤,以下是详细操作流程:

linux下如何安装mq7.0

环境准备

安装RocketMQ 7.0前,需确保系统满足基础要求,具体如下表所示:

组件 要求
操作系统 CentOS 7.4+、Ubuntu 20.04 LTS等主流Linux发行版
JDK版本 8+(推荐OpenJDK 11,可通过java -version检查)
磁盘空间 至少10GB(存储日志与消息数据)
端口 Name Server默认9876、Broker默认10911(监听端口)、10912(快照端口)

依赖安装(以CentOS为例):

# 安装OpenJDK 11
yum install -y java-11-openjdk-devel
# 验证Java版本
java -version

安装步骤

创建安装目录与专用用户

为提升安全性,建议创建非root用户运行RocketMQ:

# 创建mq用户
useradd -m -s /bin/bash mq
# 创建安装目录
mkdir -p /opt/rocketmq
chown -R mq:mq /opt/rocketmq

下载RocketMQ 7.0安装包

从官方GitHub仓库下载二进制压缩包(以Linux 64位为例):

# 切换至mq用户
su - mq
# 下载安装包(也可手动下载后上传至服务器)
wget https://github.com/apache/rocketmq/releases/download/rocketmq-all-7.0.0/rocketmq-all-7.0.0-bin-release.zip
# 解压至安装目录
unzip rocketmq-all-7.0.0-bin-release.zip -d /opt/rocketmq/
mv /opt/rocketmq/rocketmq-all-7.0.0-bin-release /opt/rocketmq/rocketmq-7.0.0

配置环境变量

编辑/etc/profile文件,添加RocketMQ全局环境变量:

vi /etc/profile

在文件末尾添加以下内容:

export ROCKETMQ_HOME=/opt/rocketmq/rocketmq-7.0.0
export PATH=$PATH:$ROCKETMQ_HOME/bin

使配置生效:

source /etc/profile

修改核心配置文件

RocketMQ的核心配置为broker.conf,需根据实际需求调整参数:

# 复制配置模板
cp $ROCKETMQ_HOME/conf/broker.conf.example $ROCKETMQ_HOME/conf/broker.conf
# 编辑配置文件
vi $ROCKETMQ_HOME/conf/broker.conf

关键参数说明及修改建议:

linux下如何安装mq7.0

# 集群名称
brokerClusterName=DefaultCluster
# Broker名称,同一集群内需唯一
brokerName=broker-a
# Broker ID,0表示Master,>0表示Slave
brokerId=0
# Name Server地址,多个地址以分号分隔
namesrvAddr=localhost:9876
# 存储路径,建议使用独立磁盘
storePathRootDir=/opt/rocketmq/store
# commitLog文件大小限制(默认1GB)
mapedFileSizeCommitLog=1073741824
# 消息刷盘策略:ASYNC_FLUSH(异步刷盘)、SYNC_FLUSH(同步刷盘)
flushDiskType=ASYNC_FLUSH
# 是否允许自动创建Topic,生产环境建议关闭
autoCreateTopicEnable=false
# 是否允许自动创建订阅组,生产环境建议关闭
autoCreateSubscriptionGroup=false
# Broker对外监听地址,0.0.0.0表示所有网卡
listenAddr=0.0.0.0

启动服务

RocketMQ需先启动Name Server,再启动Broker,具体步骤如下:

(1)启动Name Server

nohup sh $ROCKETMQ_HOME/bin/mqnamesrv > /opt/rocketmq/logs/namesrv.log 2>&1 &

验证:检查日志tail -f /opt/rocketmq/logs/namesrv.log,若出现The Name Server boot success...则启动成功。

(2)启动Broker

nohup sh $ROCKETMQ_HOME/bin/mqbroker -c $ROCKETMQ_HOME/conf/broker.conf > /opt/rocketmq/logs/broker.log 2>&1 &

验证:检查日志tail -f /opt/rocketmq/logs/broker.log,若出现The broker[broker-a, 10.0.0.1:10911] boot success...则启动成功。

验证安装

使用RocketMQ提供的命令行工具测试消息发送与消费:

(1)发送消息

sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

若输出类似SendResult [sendStatus=SEND_OK, msgId=...],则发送成功。

(2)消费消息

linux下如何安装mq7.0

sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

若输出类似Consume message[msgId=...] body: Hello RocketMQ!,则消费成功。

常用管理命令

  • 查看进程ps -ef | grep rocketmq
  • 停止Name Serversh $ROCKETMQ_HOME/bin/mqshutdown namesrv
  • 停止Brokersh $ROCKETMQ_HOME/bin/mqshutdown broker
  • 查看端口占用netstat -tunlp | grep 9876(Name Server)

相关问答FAQs

问题1:启动Broker时报错“java.net.BindException: Address already in use”,如何解决?
解答:该错误通常因端口被占用导致,可通过以下步骤排查:

  1. 检查端口占用情况:netstat -tunlp | grep 10911(Broker监听端口);
  2. 若端口被占用,可通过kill -9 <PID>杀死占用进程;
  3. 若需修改端口,编辑broker.conf,调整listenPort参数(如listenPort=10913),重启Broker即可。

问题2:如何设置RocketMQ开机自启?
解答:可通过创建systemd服务实现开机自启,以Name Server为例:

  1. 创建服务文件:vi /etc/systemd/system/rocketmq-namesrv.service,写入以下内容:

    [Unit]
    Description=RocketMQ Name Server
    After=network.target
    [Service]
    User=mq
    Group=mq
    ExecStart=$ROCKETMQ_HOME/bin/mqnamesrv
    ExecStop=$ROCKETMQ_HOME/bin/mqshutdown namesrv
    LimitNOFILE 65536
    [Install]
    WantedBy=multi-user.target
  2. 重新加载systemd配置:systemctl daemon-reload

  3. 启用开机自启:systemctl enable rocketmq-namesrv

  4. 启动服务:systemctl start rocketmq-namesrv
    Broker服务同理,创建rocketmq-broker.service文件并配置ExecStart为Broker启动命令即可。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23144.html

(0)
酷番叔酷番叔
上一篇 2025年9月11日 12:14
下一篇 2025年9月11日 12:28

相关推荐

  • Linux系统里如何通过终端命令正确进入vim编辑器?

    在Linux系统中,vim是一款功能强大且广泛使用的文本编辑器,它以其高效的操作模式和高度的可定制性受到开发者和系统管理员的青睐,对于初学者而言,掌握如何进入vim以及理解其基本操作模式是学习使用vim的第一步,本文将详细介绍Linux系统中进入vim的方法、vim的核心模式、常用操作命令以及常见问题解决,帮助……

    2025年8月28日
    5800
  • Linux下如何安全重启Java应用?

    重启前的关键准备备份数据与配置重要数据:如数据库连接信息、配置文件(如 application.properties),应用日志:保存当前日志(如 nohup.out)避免丢失,cp /path/to/app.jar /backup/app_$(date +%F).jar # 备份JAR文件cp nohup.o……

    2025年7月29日
    4700
  • 项目如何在linux上运行

    先安装必要依赖,配置环境变量,将项目文件放置合适位置,然后

    2025年8月18日
    5200
  • Linux系统如何访问禅道?

    在Linux系统中访问禅道,通常需要搭建对应的Web环境(如LAMP或LNMP),并完成禅道的安装与配置,以下是详细步骤:环境准备禅道是基于PHP开发的,因此需要安装Linux操作系统、Web服务器(Apache/Nginx)、数据库(MySQL/MariaDB)及PHP环境,以Ubuntu 20.04和Cen……

    2025年9月9日
    4200
  • Linux系统下详细如何通过ADB连接手机设备的步骤是什么?

    在Linux系统中通过ADB(Android Debug Bridge)连接手机是进行Android设备调试、文件传输或应用安装的常见操作,整个过程可分为准备工作、USB连接、WiFi连接及常见问题解决几个步骤,需确保设备与系统环境配置正确,准备工作安装ADB工具Linux系统通常需手动安装ADB,不同发行版包……

    2025年9月19日
    4600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信