【消息队列】Centos7 虚拟机安装 RocketMQ 及启动控制台
创始人
2024-05-09 02:38:45
0

文章目录

    • 前言
      • 目的
      • 注意点
        • 官网
        • 虚拟机
    • 1. 环境变量
    • 2. 安装并启动rocketmq
    • 3. 安装docker
    • 4. docker拉取并运行rocketmq-dashboard
    • 5. 关闭防火墙
    • 6. 宿主机查看控制台
    • 7. 关闭虚拟机的进程
    • 后记

前言

目的

模拟在服务器上运行RocketMQ,并且有控制台的能力。以后本地window可以边开发边连接虚拟机调试。记录下搭建过程方便以后重建。

  • 控制台启动效果
    在这里插入图片描述

注意点

注意的地方后文都会有对应的脚本

官网

  • rocketmq官网
  • 官网提供了源码下载地址,需要通过maven编译打包运行项目
  • 官网的运行DEMO,需要启动两个 rocketmq 相关的进程 (mqnamesrv、mqbroker)
  • 官网介绍rocketmq控制台(rocketmq-dashboard),是基于docker启动的
  • 官网的教程是默认读者 Java / maven / docker 环境已经安装好了

虚拟机

  • 确保网络环境,建议写死虚拟机的ip地址
  • 宿主机关机前,记得把虚拟机的进程停止掉
  • VMware 有时候有bug,先挂起再继续运行可能可以解决
  • 虚拟机和宿主机的防火墙要么配置好,要么索性都关掉

1. 环境变量

《Linux命令行与shell脚本编程大全》 提出:

  • 环境变量不要直接写入 /etc/profile
  • 很多发行版的Linux 都内置了 /etc/profile 脚本,我们可以把自己的变量脚本放在 /etc/profile.d/xxx.sh (xxx自己命名)

看了下内置的 /etc/profile 脚本,其实就是遍历几个目录,这个脚本起了个路由的作用,profile.d下的所有脚本都会被加载

这里放一下我的环境变量

MAVEN_HOME=/usr/maven-3.8.7
export PATH=${MAVEN_HOME}/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin

2. 安装并启动rocketmq

官网给的是源码,那就需要解压出来,用maven命令跑起来。

# 官方下载源码文件,解压到指定目录
unzip rocketmq-all-5.0.0-bin-release.zip -d /usr/# 修改下解压后的文件名
cd /usr/
mv rocketmq-all-5.0.0-bin-release rocketmq-5.0.0#rocketmq 源码使用maven编译打包成可以执行文件
cd distribution/target/rocketmq-5.0.0/rocketmq-5.0.0
mvn -Prelease-all -DskipTests clean install -U# 启动 mqnamesrv (rockrtmq的架构组成)
nohup sh /usr/rocketmq-5.0.0/distribution/target/rocketmq-5.0.0/rocketmq-5.0.0/bin/mqnamesrv &
# 看日志确认启动成功
tail -f ~/logs/rocketmqlogs/namesrv.log# 启动 mqbroker (rockrtmq的架构组成)
nohup sh /usr/rocketmq-5.0.0/distribution/target/rocketmq-5.0.0/rocketmq-5.0.0/bin/mqbroker -n localhost:9876 --enable-proxy &
# 看日志确认启动成功
tail -f ~/logs/rocketmqlogs/broker_default.log 

3. 安装docker

# 确保unix 内核版本 > 3.10
uname -r
# docker 的卸载和安装
yum remove docker  docker-common docker-selinux docker-engine
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
# 启动docker
systemctl start docker
systemctl enable docker
  • docker 的其他指令
# 其他调试用的docker命令
docker ps
docker kill 容器id
docker ps -a
docker rm 容器id

4. docker拉取并运行rocketmq-dashboard

# 关注ipv4地址,ens33不一定是一样的,指ifconfig 或者ip addr 能看到的对外端口
cat /etc/sysconfig/network-scripts/ifcfg-ens33
# 没有写死的ipv4地址,那就动态看
ifconfig -a# docker 拉取rocketmq-dashboard镜像
docker pull apacherocketmq/rocketmq-dashboard:lates# 启动镜像,注意启动参数绑定的host:port 是 mqbroker 上面注册的
docker run -d --name rocketmq-dashboard -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.62.3:9876" -p 8080:8080 -t apacherocketmq/rocketmq-dashboard:latest

5. 关闭防火墙

# 关闭虚拟机防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
systemctl disable firewalld.service# 同时关闭主机的内网防火墙 --window

6. 宿主机查看控制台

http://192.168.62.3:8080/#/

7. 关闭虚拟机的进程

sh /usr/rocketmq-5.0.0/distribution/target/rocketmq-5.0.0/rocketmq-5.0.0/bin/mqshutdown broker
sh /usr/rocketmq-5.0.0/distribution/target/rocketmq-5.0.0/rocketmq-5.0.0/bin/mqshutdown namesrv
docker kill 容器id
docker rm 容器id

后记

总体就是按部就班的复制、改命令行。对比rocketmq namesrv + broker 的安装运行,支持 docker 镜像运行还是很方便的。现在官方都默认读者有环境变量了,借VMware建立快照的能力,把环境保留下来,以后就不用那么麻烦了。

相关内容

热门资讯

【理响中国】更加科学有效地把权...   权力是一把“双刃剑”,依法依规行使可以造福人民,违法违规行使必然祸害国家和人民。要保证权力在正确...
花市“热”起来涌动节前消费暖流...   央视网消息:春节越来越近了,这几天,华南地区最大的鲜切花交易市场——广东广州岭南花卉市场逐渐热闹...
TikTok老外集体变“精神中...   最近,一群老外正经历着“人生中非常中国化的时期”。  “从明天开始,你要变成中国人了。”TikT...
首次突破10万亿千瓦时!从20...   央视网消息:国家能源局1月17日发布,2025年,我国全社会用电量首次突破10万亿,达到1036...
谁,来到了雄安?   “千年之城”——雄安  无数个关于未来的梦想  正在孕育、诞生、实现  无数个追梦的人  来到这...
“老不出蜀”的七旬台胞“简姐”...   中新社成都1月17日电 题:“老不出蜀”的七旬台胞“简姐”:让宝岛风味串起两岸情缘  中新社记者...
​资本公积与盈余公积的区别是什... 资本公积与盈余公积的区别是什么资本公积是企业收到投资者的超出其在企业注册资本(或股本)中所占份额的投...
​研发费用资本化与费用化的界限 研发费用资本化与费用化的界限研发支出资本化和费用化的区别是符合资本化条件的开发费用在无形资产达到预定...
​现金流量表净额与净利润差异原... 现金流量表净额与净利润差异原因当现金流量净额低于净利润时,可能是由于以下几个原因:一、应收账款增加当...
“鱼米之乡”万象新   在中国壮阔的山河画卷中,滚滚长江,奔腾不息。水过三峡,便是长江中下游平原,这里鱼欢稻丰,滋养出万...