请选择 进入手机版 | 继续访问电脑版
MSIPO技术圈 首页 IT技术 查看内容

linux RocketMQ 安装配置

2024-04-04

RocketMQ安装配置

环境准备

  • 操作系统:CentOS7.9
  • 内存:16G+
  • JDK:1.8

安装配置

安装包下载

下载地址:https://rocketmq.apache.org/zh/download
下载需要的版本的二进制安装包,本文档以RocketMQ4.9.5版本为例(rocketmq-all-4.9.5-bin-release.zip)

安装过程

从官方下载的RocketMQ的二进制包是已经编译好的可运行的包,只需要解压缩并配置就可以使用

安装

使用sftp工具,将安装包(rocketmq-all-4.9.5-bin-release.zip)上传到目标服务器的home目录下
然后依次执行以下命令

cd /home
# 解压
unzip rocketmq-all-4.9.5-bin-release.zip
# 重命名,方便后续操作
mv rocketmq-all-4.9.5-bin-release rocketmq
配置

RocketMQ默认的内存配置较高,可以按照以下的配置方式,对内存、namesrv、broker等进行配置(生产环境下,内存配置不用修改,使用默认配置即可,本地测试环境根据内存情况配置)

namesrv 内存配置
 vi /home/rocketmq/bin/runserver.sh

修改runserver.sh中对于jvm堆内存的配置,例如:

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512 -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
broker 内存配置
 vi /home/rocketmq/bin/runbroker.sh

修改runbroker.sh中对于jvm堆内存的配置,例如:

JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g"
tools 内存配置

如果需要使用RocketMQ自带的工具进行测试验证,同样需要调整其JVM内存配置

 vi /home/rocketmq/bin/tools.sh

修改tools.sh中对于jvm堆内存的配置,例如:

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"
broker.conf 配置
vi /home/rocketmq/conf/broker.conf 

在配置文件中增加以下配置:

# broker1地址
brokerIP1=10.216.60.60
# broker2地址
brokerIP2=10.216.60.60
# namesrv地址
namesrvAddr=10.216.60.60:9876
# 是否自动创建topic,默认为true
autoCreateTopicEnable=true

启动/停止

RocketMQ启动时,应按照顺序先启动namesrv,再启动broker

启动namesrv

# 启动namesrv
# -n参数 指定启动的namesrv的地址和端口
nohup sh mqnamesrv -n "10.216.60.60:9876" &
# 查看namesrv日志
tail -f /root/logs/rocketmqlogs/namesrv.log

在namesrv.log 中看到 ‘The Name Server boot success…’, 表示NameServer已成功启动

启动broker

# 启动broker
# -c参数 指定启动broker时的配置
nohup sh mqbroker -c /home/rocketmq/conf/broker.conf &
# 查看broker日志
tail -f /root/logs/rocketmqlogs/broker.log

在broker.log中看到“The broker[brokerName,ip:port] boot success…”,表示broker已成功启动

停止namesrv

cd /home/rocketmq/bin
sh mqshutdown namesrv

停止broker

cd /home/rocketmq/bin
sh mqshutdown broker

测试

环境变量设置

使用tools.sh工具测试时,需要先设置系统环境变量

vi /etc/profile
# 文件末尾增加以下配置
# export NAMESRV_ADDR=10.216.60.60:9876
# export PATH=$PATH:$NAMESRV_ADDR
# 使环境变量生效
source /etc/profile

测试producer

cd /home/rocketmq/bin
sh tools.sh org.apache.rocketmq.example.quickstart.Producer

测试consumer

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

本地服务测试

在安装RocketMQ的机器上,部署一个平台服务,可通过curl命令调用平台服务测试服务的发布和订阅

curl -X POST -H "Content-Type:application/json" -d '{"hostname": "测试主机","hostip": "告警IP:127.0.0.1","date": "str3","trigger": "str4","lastvalue": "str5","status": "str6","level": "str7","detail": "str8"}' "http://10.216.60.60:10011/api/appsys/rocketmqrest/send-msg-mq"

注意事项

JAVA环境变量设置

在安装RocketMQ前,需要在目标服务器上安装jdk1.8,并配置java环境变量,可参考以下示例

vi /etc/profile
# 文件末尾增加以下配置
# export JAVA_HOME=/usr/lib/jdk1.8.0_271
# export PATH=$PATH:$JAVA_HOME/bin
# 使环境变量生效
source /etc/profile

端口说明

使用rocketmq,需要开放以下端口

  • 9876:namesrv使用
  • 10911:listenPort,broker(Master)默认监听端口号,RemotingService服务组件使用,用来对Producer和Consumer提供服务,可通过配置文件修改
vi /home/rocketmq/conf/broker.conf
# 增加下面配置
# listenPort=10911  
  • 10909:fastListenPort,FastRemotingService服务组件使用,默认值是listenPort - 2,可通过配置文件修改
vi /home/rocketmq/conf/broker.conf
# 增加下面配置
# fastListenPort=10909  
  • 10912:haListenPort,HAService服务组件使用,用于broker的主从同步,默认值为listenPort + 1,可通过配置文件修改
vi /home/rocketmq/conf/broker.conf
# 增加下面配置
# haListenPort=10912  
  • 11011:listenPort,broker(Slave)默认监听端口号,2节点集群模式下需要

RemotingService和FastRemotingService区别

  • Broker端
    RemotingServer可以处理客户端所有请求,如:生产者发送消息的请求,消费者拉取消息的请求。 FastRemotingServer功能基本与RemotingServer相同,唯一不同的是不可以处理消费者拉取消息的请求。 Broker在向NameServer注册时,只会上报RemotingServer监听的listenPort端口。
  • 客户端
    默认情况下,生产者发送消息是请求FastRemotingServer,我们也可以通过配置让其请求RemotingServer;消费者拉取消息只能请求RemotingServer。

相关阅读

热门文章

    手机版|MSIPO技术圈 皖ICP备19022944号-2

    Copyright © 2024, msipo.com

    返回顶部