Linux单机部署RocketMQ


一、官网下载 RocketMQ

RocketMQ 官网:https://rocketmq.apache.org/
在这里插入图片描述
这里我选择的4.9.4版本
在这里插入图片描述

二、安装RocketMQ

下载安装包后,将安装包上传到 linux
然后创建安装目录

mkdir -p /usr/local/rocketmq

将安装包解压到新的安装目录

unzip -d /usr/local/rocketmq rocketmq-all-4.9.4-bin-release.zip

如果没有安装 unzip,可以执行下面命令安装

yum install -y unzip zip 

进入 rocketmq 安装目录

cd /usr/local/rocketmq/

重命名

mv rocketmq-all-4.9.4-bin-release apache-rocketmq-4.9.4

创建存放数据的目录

cd apache-rocketmq-4.9.4
mkdir -p store store/commitlog store/consumequeue

进入conf目录

cd conf

编辑 broker.conf 文件

vi broker.conf

在 broker.conf 文件中配置如下内容,直接覆盖即可

# 所属集群名称,可自定义,同一集群内的Broker名称需保持一致
brokerClusterName = DefaultCluster
# Broker名称,单机部署时可随意命名,但需保证唯一性,用于区分不同的Broker实例
brokerName = broker-a
# Broker的角色和ID0表示Master,大于0表示Slave,单机部署时一般设置为0
brokerId = 0
deleteWhen = 04
# NameServer的地址,多个地址用分号分隔,单机部署时一般为本地地址和端口
namesrvAddr = 127.0.0.1:9876
# Broker监听的IP地址,设置为本地回环地址或服务器的实际IP地址
brokerIP1 = 127.0.0.1
# Broker监听的端口号,默认是10911,可根据需要修改
listenPort = 10911
# 存储根目录,用于存储消息数据、索引等文件,需确保该目录有足够的磁盘空间
storePathRootDir = /usr/local/rocketmq/apache-rocketmq-4.9.4/store
# commitLog存储路径,用于存储消息的物理文件
storePathCommitLog = /usr/local/rocketmq/apache-rocketmq-4.9.4/store/commitlog
# 消费队列存储路径,用于存储消息的消费队列信息
storePathConsumeQueue = /usr/local/rocketmq/apache-rocketmq-4.9.4/store/consumequeue
# 消息索引存储路径,用于存储消息的索引信息,方便快速查询消息
storePathIndex = /usr/local/rocketmq/apache-rocketmq-4.9.4/store/index
# 日志文件的存储路径,可根据实际情况修改
logPath = /usr/local/rocketmq/logs
# 日志文件名,可自定义
logFileName = broker.log
# 同步刷盘还是异步刷盘,ASYNC_FLUSH表示异步刷盘,SYNC_FLUSH表示同步刷盘,异步刷盘性能更高,但可能会有少量消息丢失风险
flushDiskType = ASYNC_FLUSH
# 主从同步策略,ASYNC_MASTER表示异步复制,SYNC_MASTER表示同步复制,单机部署一般使用异步复制即可
brokerRole = ASYNC_MASTER
# 消息存储文件的保留时间,单位为小时,默认值为72小时,可根据磁盘空间和数据保留需求调整
fileReservedTime = 48
# 当磁盘使用空间达到该比例时,Broker会拒绝接收新消息,默认值为88%,可根据磁盘容量调整
diskMaxUsedSpaceRatio = 88
# 自动创建Topic时的默认队列数,默认值为4,可根据业务需求调整
defaultTopicQueueNums = 4
# 是否允许Broker自动创建Topic,线下测试环境可开启,线上生产环境建议关闭
autoCreateTopicEnable = true
# 是否允许Broker自动创建订阅组,线下测试环境可开启,线上生产环境建议关闭
autoCreateSubscriptionGroup = true
# 限制的消息大小,默认值为128k,可根据实际消息大小调整
maxMessageSize = 131072
# 是否开启消息轨迹功能,默认值为false,可根据是否需要跟踪消息轨迹来设置
traceTopicEnable = false

修改内存大小(这步不是必须的,如果你的机器内存足够,可以跳过这步,我的机器内存只有4g,因此需要修改内存大小)

进入 bin 目录

cd /usr/local/rocketmq/apache-rocketmq-4.9.4/bin

编辑 runbroker.sh 文件和 runserver.sh 文件,修改内存大小
编辑 runbroker.sh 文件,将 8g 修改为 512m

vi runbroker.sh

修改后
在这里插入图片描述

vi runserver.sh

修改后
在这里插入图片描述
最后记得要开放防火墙9876和10911端口

firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --zone=public --add-port=10911/tcp --permanent

更新防火墙规则(无需断开连接,动态添加规则)

firewall-cmd --reload

三、启动rocketMQ

在 bin 目录下,执行下面命令
启动nameserver

nohup sh mqnamesrv &

指定配置文件并启动 broke

nohup sh mqbroker -c /usr/local/rocketmq/apache-rocketmq-4.9.4/conf/broker.conf &

四、发送/接收消息测试

发送消息

export NAMESRV_ADDR=localhost:9876
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

接收消息

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

五、需要关闭Server的话

cd /usr/local/rocketmq/apache-rocketmq-4.9.4
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
### 回答1: Linux部署RocketMQ的步骤如下: 1. 下载RocketMQ的安装包,解压到指定目录。 2. 修改RocketMQ的配置文件,包括broker.conf、namesrv.conf等。 3. 启动NameServer,执行命令:sh bin/mqnamesrv。 4. 启动Broker,执行命令:sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true。 5. 验证RocketMQ是否正常运行,可以通过执行命令:sh bin/mqadmin clusterList -n localhost:9876,查看NameServer和Broker的状态。 6. 在应用程序中使用RocketMQ,需要引入相关的依赖包,并编写相应的代码。 以上就是Linux部署RocketMQ的基本步骤,需要注意的是,在实际部署过程中可能会遇到一些问题,需要根据具体情况进行调整和解决。 ### 回答2: RocketMQ是一种高可用性、高性能的开源消息中间件,在大数据领域和互联网架构中广泛使用。在Linux系统下,部署RocketMQ可以提供更稳定的服务,下面是针对Linux系统下的RocketMQ部署步骤。 1. 下载与安装Java环境 RocketMQ是基于Java语言开发的,需要Java环境的支持,可以通过在Linux中下载安装Java环境来实现: ``` 1. apt-get update 2. apt-get install openjdk-8-jdk 3. java –version ``` 2. 下载RocketMQ安装包 可以通过阿里云官网下载RocketMQ独立版本的压缩包,将其解压缩至目标目录,例如 /usr/local/rocketmq/。下载RocketMQ可以在以下网址中获取:https://mirrors.aliyun.com/apache/rocketmq/ 3. 配置环境变量 在Linux系统下可以通过配置环境变量的方式来快速访问到RocketMQ相关的命令: ``` 1. vim /etc/profile 2. export ROCKETMQ_HOME=/usr/local/rocketmq 3. export PATH=$PATH:$ROCKETMQ_HOME/bin 4. source /etc/profile ``` 4. 启动name server 在RocketMQ中,Name Server是消息的服务路由中心,是RocketMQ集群必不可少的组件。开启Name Server可以通过以下方式来实现: ``` 1. cd $ROCKETMQ_HOME/bin 2. ./mqnamesrv & ``` 5. 启动Broker Broker是RocketMQ集群中存储和消费消息的节点,通过启动Broker来实现消息的生产和消费。启动Broker可以通过以下方式来实现: ``` 1. cd $ROCKETMQ_HOME/bin 2. ./mqbroker -n localhost:9876 & ``` 6. RocketMQ使用 启动Name Server和Broker之后,即可通过RocketMQ提供的命令操作RocketMQ,实现消息的生产和消费: ``` 1. 生产消息:sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer 2. 消费消息:sh $ROCKETMQ_HOME/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer ``` 总体来说,在Linux系统下部署RocketMQ,需要进行几个步骤,包括Java环境的安装,RocketMQ安装包的下载,环境变量的配置,Name Server的启动,Broker的启动等。按照以上步骤进行部署,便能很愉快地在Linux下使用RocketMQ了。 ### 回答3: RocketMQ是一个开源的分布式消息中间件系统,它被广泛用于处理大数据和高并发的消息传递场景。本文将详细介绍如何在Linux部署RocketMQ。 1. 环境准备 在部署RocketMQ之前,需要确保Linux系统已安装Java虚拟机(JVM)。可以通过以下命令检查: ``` java -version ``` 如果未安装,可以通过以下命令安装Java: ``` yum install java-1.8.0-openjdk ``` 同时,还需要安装RocketMQ的二进制文件。可以从RocketMQ的官方网站下载最新版本的二进制文件。下载后,可以使用以下命令解压: ``` tar -zxvf rocketmq-all-version.tar.gz ``` 2. 配置文件修改 解压后,需要修改一些配置文件以适应特定的环境。需要修改以下配置文件: **broker.conf** 在配置文件中,需要指定以下主要参数: - brokerIP:指定该broker服务器的IP地址。 - brokerName:指定该broker服务器的名称。 - brokerClusterName:指定该broker所在的集群名称。 - listenPort:指定broker监听的端口号。 可以通过以下命令修改config/broker.conf文件: ``` vi config/broker.conf ``` 修改完配置文件后,保存并退出。 **nameserver.conf** 在配置文件中,需要指定以下主要参数: - namesrvAddr:指定nameserver的IP地址和端口号。 可以通过以下命令修改config/nameserver.conf文件: ``` vi config/nameserver.conf ``` 修改完配置文件后,保存并退出。 3. 启动服务 启动RocketMQ需要以不同的角色分别启动nameserver和broker服务。可以通过以下命令启动nameserver: ``` nohup sh bin/mqnamesrv & ``` 可以通过以下命令启动broker: ``` nohup sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true & ``` 启动后,可以通过以下命令查看RocketMQ的进程: ``` ps aux | grep RocketMQ ``` 4. 测试 启动服务后,可以通过以下命令创建一个新主题: ``` sh bin/mqadmin updateTopic -c DefaultCluster -n localhost:9876 -t testTopic ``` 然后,可以通过发送消息测试: ``` sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer testTopic ``` 可以通过消耗消息测试: ``` sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer testTopic ``` 以上就是Linux部署RocketMQ的详细过程。RocketMQ是一个非常强大的分布式消息中间件系统,它可以快速处理大量数据。因此,适当地配置和使用RocketMQ可以为企业带来很多好处,例如提高系统的可靠性、提高系统的性能和可扩展性等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值