一、什么是RocketMQ

​         RocketMQ是阿里巴巴开源的一个消息中间件,在阿里内部历经了双十一等很多高并发场景的考验,能够处理亿万级别的消息。2016年开源后捐赠给Apache,现在是Apache的一个顶级项目。

         早期阿里使用ActiveMQ,但是,当消息开始逐渐增多后,ActiveMQ的IO性能很快达到了瓶颈。于是,阿里开始关注Kafka。但是Kafka是针对日志收集场景设计的,他的高级功能并不是很贴合阿里的业务场景。尤其当他的Topic过多时,由于Partition文件也会过多,这就会加大文件索引的耗时,会严重影响IO性能。于是阿里才决定自研中间件,最早叫做MetaQ,后来改名成为RocketMQ。最早他所希望解决的最大问题就是多Topic下的IO性能压力。但是产品在阿里内部的不断改进,RocketMQ开始体现出一些不一样的优势。

二、下载压缩包

RocketMQ的官网地址:http://rocketmq.apache.org

下载地址:https://rocketmq.apache.org/download

选择4.9.5稳定版本进行下载

三、安装RocketMQ

 将下载好的rocketmq-all-4.9.5-bin-release.zip上传至服务器/usr/local/目录下:

 解压:

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

四、启动namesever

修改/usr/local/rocketmq-all-4.9.5-bin-release/bin/runserver.sh配置:

JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
-- 进入rocketmq安装目录
cd /usr/local/rocketmq-all-4.9.5-bin-release

-- 启动nameserver服务
nohup bin/mqnamesrv &

查看nohup.out文件,出现

The Name Server boot success. serializeType=JSON

表示启动成功。

五、启动broker

1.修改配置文件:/usr/local/rocketmq-all-4.9.5-bin-release/conf/broker.conf

添加如下配置

#自动创建topic
autoCreateTopicEnable = true
#设置brokerip
brokerIP1 = 43.142.xx.xxx
#设置nameserverip
namesrvAddr = 43.142.xx.xxx:9876

调整runbroker.sh中的内存大小:

JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g"
修改为:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m"

2.启动 broker服务

-- 指定配置文件启动
nohup bin/mqbroker -c conf/broker.conf &

查看nohup.out文件,出现The broker[broker-a, 43.142.91.252:10911] boot success.代表broker启动成功。

使用jps命令查看启动的服务:

六、停止服务

# 1.关闭NameServer
bin/mqshutdown namesrv
# 2.关闭Broker
bin/mqshutdown broker

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐