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)
酷番叔酷番叔
上一篇 2小时前
下一篇 2小时前

相关推荐

  • Linux如何安装vim?详细步骤与方法指南

    Vim(Vi IMproved)是一款功能强大的文本编辑器,源自经典的Vi编辑器,支持语法高亮、插件扩展、多窗口编辑等高级功能,是Linux系统管理员和开发者的常用工具,默认情况下,多数Linux系统可能未预装Vim,或仅安装了简化版(如Vi),因此需要手动安装完整版,以下是不同Linux发行版的安装步骤及后续……

    2025年8月28日
    1200
  • Linux配置域名有哪些步骤?

    基础概念域名注册通过阿里云、GoDaddy等注册商购买域名(example.com),DNS解析将域名指向服务器IP(通过A记录或CNAME记录),服务器配置在Linux服务器上设置Web服务(如Apache/Nginx)监听该域名,配置步骤步骤1:设置DNS解析登录域名注册商控制台(如阿里云DNS管理),添加……

    2025年7月13日
    2600
  • linux中如何开ftp服务器配置

    Linux 中,安装 vsftpd 软件包,编辑配置文件 /etc/vsftpd.

    2025年8月15日
    1200
  • 如何快速提升网站流量?

    cp命令用于复制文件或目录,支持递归复制目录内容(-r选项)及保留文件属性(-p选项),是Linux/Unix系统管理文件的基础工具。

    2025年7月9日
    3300
  • linux 如何修改debug口

    Linux 中,修改调试口(串口)通常涉及编辑 `/boot/grub/grub.

    2025年8月13日
    1400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信