1.yum 安装 upunzip
yum install -y unzip
2.创建文件夹存放RocketMQ, 安装之前需要安装JDK
mkdir -p /opt/tools/rocketmq
3.下载 RocketMQ 上传到 /opt/tools/rocketmq
RocketMQ 官网下载地址

(图片来源网络,侵删)
4.切换目录、解压
cd /opt/tools/rocketmq unzip rocketmq-all-5.1.4-bin-release.zip # 名称太长、修改一下 mv rocketmq-all-5.1.4-bin-release rocket-5.1
4.配置环境变量
# 编辑 vim /etc/profile # 添加 export NAMESRV_ADDR=公网ip:9876 # 刷新 source /etc/profile
5.修改配置文件
# 第一个: vim /opt/tools/rocketmq/rocket-5.1/bin/runserver.sh # Example of JAVA_MAJOR_VERSION value : '1', '9', '10', '11', ... # '1' means releases befor Java 9 JDK 8版本之前修改: JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m" JDK 9版本之后修改: JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m" 注意:JDK 9 版本在 else 下面 # 保存退出 esc+:wq # 第二个: vim /opt/tools/rocketmq/rocket-5.1/bin/runbroker.sh # 找到修改-Xms128m -Xmx128m JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m" choose_gc_options # 保存退出 esc+:wq # 第三个: vim /opt/tools/rocketmq/rocket-5.1/conf/broker.conf # 添加下面三个配置 namesrvAddr = xxx.xxx.xxx.xx:9876 autoCreateTopicEnable = true brokerIP1 = xxx.xxx.xxx.xx # 指定NameServer的地址,格式为: # namesrvAddr = xxx.xxx.xxx.xx:9876 # 是否允许自动创建主题,当生产者发送消息到一个尚不存在的主题时,如果设置为true,RocketMQ会自动创建这个主题 # autoCreateTopicEnable = true # 指定Broker节点的IP地址,通常在集群部署时会配置多个Broker节点 # brokerIP1 = xxx.xxx.xxx.xx
6.创建日志目录和启动
# 创建日志目录 mkidr /opt/tools/rocketmq/rocket-5.1/logs # 启动 nohup sh mqnamesrv > /opt/tools/rocketmq/rocket-5.1/logs/namesv.log 2>&1 & nohup sh mqbroker -c /opt/tools/rocketmq/rocket-5.1/conf/broker.conf > /opt/tools/rocketmq/rocket-5.1/logs/broker.log 2>&1 & # 也可以切换bin目录下启动 nohup sh mqnamesrv > ../logs/namesv.log 2>&1 & nohup sh mqbroker -c ../conf/broker.conf > ../logs/broker.log 2>&1 & # 我使用的 netstat -nltp 查看是否启动,没有启动去看log日志 mqnamesrv和mqbroker是两个不同的组件 mqnamesrv: NameServer(名称服务)是RocketMQ中的一种核心组件,负责管理整个消息队列系统的元数据信息, 包括主题(Topic)、队列(Queue)、Broker集群等。 NameServer充当了路由查询的中心,当Producer或Consumer需要发送或接收消息时, 它们会向NameServer查询路由信息,以确定消息应该发送到哪个Broker上。 NameServer是轻量级的,不存储消息数据,主要负责维护路由信息,因此它的资源消耗相对较低。 mqbroker: Broker(消息代理)是RocketMQ中另一个重要的组件,负责存储和传递消息,是实际处理消息的节点。 每个Broker节点负责管理一部分主题的消息存储和消息传递,它们之间可以组成一个Broker集群,以提高消息的可用性和吞吐量。 Broker存储了消息数据,并且负责处理Producer发送过来的消息,并将消息分发给相应的Consumer进行消费。
7.firewall 防火墙配置
firewall 防火墙配置 dashboard.log 2>&1 & # 内存消耗有点大,使用 free -h 查看,保守900M左右