前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux】RocketMQ 部署(二进制方式)

【Linux】RocketMQ 部署(二进制方式)

作者头像
行者Sun
发布2024-09-02 11:59:11
1550
发布2024-09-02 11:59:11
举报
文章被收录于专栏:Linux

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发!如果您有其他想要了解的,欢迎私信联系我~

背景介绍

本文基于 RocketMQ 4.9.4 版本,在 Kylin V10 操作系统下完成了 RocketMQ 的非容器化部署验证工作,以下为完整过程。

过程回顾

1、安装依赖(Java)

代码语言:javascript
复制
cd /opt
 
# 获取安装包(下载较慢)
wget https://github.com/frekele/oracle-java/releases/download/8u181-b13/jdk-8u181-linux-x64.tar.gz
 
# 解压安装包
tar -xzf jdk-8u181-linux-x64.tar.gz
 
# 设置环境变量
cat >> ~/.bash_profile <<EOF
export JAVA_HOME=/opt/jdk1.8.0_181
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
EOF
 
# 环境变量生效
source ~/.bash_profile
 
# 检查安装结果
java -version
jps

2、下载二进制包

代码语言:javascript
复制
cd /data
 
# 获取二进制安装包
wget https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-bin-release.zip
 
# 解压安装包
unzip rocketmq-all-4.9.4-bin-release.zip
mv rocketmq-all-4.9.4-bin-release.zip rocketmq

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

3、修改配置文件

代码语言:javascript
复制
# 添加配置内容
cat >> /data/rocketmq/conf/broker.conf <<EOF
# broker 地址 
brokerIP1 = <本机IP地址>
# nameServer 地址
namesrvAddr = <本机IP地址>:9876
EOF

4、启动 namesrv、broker 服务

代码语言:javascript
复制
cd /data && mkdir /data/rocketmq/logs

# 创建启动脚本
cat >> start-namesrv.sh <<EOF
nohup bash /data/rocketmq/bin/mqnamesrv >/data/rocketmq/logs/mqnamesrv.log 2>&1 &
EOF

cat >> start-broker.sh <<EOF
nohup bash /data/rocketmq/bin/mqbroker >/data/rocketmq/logs/mqbroker.log 2>&1 &
EOF

chmod +x start-namesrv.sh start-broker.sh

# 运行启动脚本
bash start-namesrv.sh
bash start-broker.sh

# 查看日志
cat /data/rocketmq/logs/mqnamesrv.log
cat /data/rocketmq/logs/mqbroker.log

# 检查服务
jps

# 输出结果
25740 Jps
25645 BrokerStartup
25583 NamesrvStartup

# 若需要停止服务,执行
bash /data/rocketmq/bin/mqshutdown namesrv
bash /data/rocketmq/bin/mqshutdown broker

5、测试基本功能

代码语言:javascript
复制
# 测试发送消息
export NAMESRV_ADDR=<本机IP地址>:9876
bash /data/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

# 测试接收消息
export NAMESRV_ADDR=<本机IP地址>:9876
bash /data/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

# 提示:若未定义 NAMESRV_ADDR,则会报错
org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to null failed

# 测试 Topic 创建
bash /data/rocketmq/bin/mqadmin updateTopic -c DefaultCluster -t test

# 查看集群信息
bash /data/rocketmq/bin/mqadmin clusterList

# 查看topic列表
bash /data/rocketmq/bin/mqadmin topicList | sort

这里需要说明的是:

测试命令可能会报错 invokeSync call the addr[null] timeout,原因是 RocketMQ 代码中默认超时时间(3000ms 或 5000ms)过短导致的。请按照

【Docker】RocketMQ 源码构建 Docker 镜像(基于 ARM 64 架构)

的步骤 2 操作后,替换 /data/rocketmq/lib 目录中相应的 jar 包文件即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 实施运维知识交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档