Centos 7 安装 RocketMQ 5.14(保姆级)

慈云数据 2024-04-23 技术支持 102 0
1.yum 安装 upunzip
yum install -y unzip
2.创建文件夹存放RocketMQ, 安装之前需要安装JDK
mkdir -p /opt/tools/rocketmq
3.下载 RocketMQ 上传到 /opt/tools/rocketmq

RocketMQ 官网下载地址 

Centos 7 安装 RocketMQ 5.14(保姆级)
(图片来源网络,侵删)
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左右

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon