【消息队列】Centos7 虚拟机安装 RocketMQ 及启动控制台

3 篇文章 0 订阅

前言

目的

模拟在服务器上运行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

8. 手动部署Jar 包


# linux 部署打包好的jar包
nohup java -jar learn-rocketmq-0.0.1-SNAPSHOT.jar >spring-boot.out &

# 杀掉java进程
netstat  -nlp|grep 9090
kill 进程id

后记

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

脚本总览

# Linux centos7 环境
# jdk 安装
# 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

# 看下网络设置
vim /etc/sysconfig/network-scripts/ifcfg-ens33

# 启动 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 

cd /usr/rocketmq-5.0.0/distribution/target/rocketmq-5.0.0/rocketmq-5.0.0/

# 确保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
systemctl start docker
systemctl enable docker

# docker 拉取rocketmq-dashboard镜像
docker pull apacherocketmq/rocketmq-dashboard:latest

# 启动镜像
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

# 其他调试用的docker命令
docker ps
docker kill 容器id
docker ps -a
docker rm 容器id

# 关闭虚拟机防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
systemctl disable firewalld.service

# 关闭主机的内网防火墙 --window

# window 访问 192.168.62.3:8080 成功进入控制台

# 关闭rockemq和rocketmq-dashboard
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 ps -a
docker kill 容器id
docker rm 容器id

# window 看端口占用
netstat -ano |findstr "8081"

# linux 部署打包好的jar包
nohup java -jar learn-rocketmq-0.0.1-SNAPSHOT.jar >spring-boot.out &

# 杀掉java进程
netstat  -nlp|grep 9090
kill 进程id

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在虚拟机安装RocketMQ,你需要按照以下步骤进行操作: 1. 首先,确保你的虚拟机环境安装了Java、Maven和Docker,并且网络环境稳定。 2. 下载RocketMQ的源码,并使用Maven编译和打包项目。 3. 启动两个RocketMQ相关的进程,分别是mqnamesrv和mqbroker。 4. 安装Docker,并拉取并运行RocketMQ控制台rocketmq-dashboard)。 5. 关闭虚拟机和宿主机的防火墙,以确保网络连接畅通。 6. 在宿主机上查看RocketMQ控制台,确保它成功运行。 7. 确保关闭了虚拟机RocketMQ的进程。 通过以上步骤,你就可以在虚拟机上成功安装RocketMQ了。请根据你的环境和需求进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【消息队列Centos7 虚拟机安装 RocketMQ启动控制台](https://blog.csdn.net/chenghan_yang/article/details/128603956)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [RocketMQ安装教程](https://blog.csdn.net/2302_76827504/article/details/130611136)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值