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

news2024/11/18 14:34:58

文章目录

    • 前言
      • 目的
      • 注意点
        • 官网
        • 虚拟机
    • 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建立快照的能力,把环境保留下来,以后就不用那么麻烦了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/149360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【自学C++】C++变量作用域

C变量作用域 C变量作用域教程 C 中的一个 变量 或 常量 在程序中都有一定的作用范围,我们称之为作用域。C 变量作用域可分为局部作用域和全局作用域。 C局部变量 在 函数 内部声明/定义的变量叫局部变量,局部变量的作用域仅限于函数内部。同时&#…

Linux应用编程---8.共享内存

Linux应用编程—8.共享内存 ​ 共享内存是进程之间通讯的方式。大概原理是先申请一块共享内存,然后通过“映射”,映射到进程中。进程中读写这块被映射过来的内存,共享内存也会随之改变,同理其它进程也能做相同的操作。所以&#…

dubbo源码实践-protocol层例子

1 概述本文提供了基于protocol层的一个客户端、服务端代码例子。从dubbo 2.7的架构图上可以看到protocol层上在Remoting层之上的,个人理解Protocol层不在讨论客户端和服务端的概念了,开始讨论服务提供者和服务消费者的概念了。参考上一篇dubbo源码实践-p…

基于ngxin一个http模板

1.初始化 static char * ngx_http_mytest(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);static ngx_int_t ngx_http_mytest_handler(ngx_http_request_t *r);static ngx_command_t ngx_http_mytest_commands[] {{ngx_string("mytest"),NGX_HTTP_MAIN_CONF | N…

分布式基础篇2——分布式组件(谷粒商城)

一、SpringCloud Alibaba1、简介2、为什么使用3、版本选择4、依赖选择二、SpringCloud Alibaba 组件1、Nacos作为注册中心2、OpenFeign3、Nacos作为配置中心namespaceData IDGroup同时加载多个配置文件三、Spring Cloud1、GateWay简介三大核心部分网关的使用视频来源: 【Java项…

爬虫学习+实战

爬虫 概念: 网络爬虫:就是模拟客户端发送请求,获取响应数据,一种按照一定的规则,自动地抓取万维网上的信息的程序或者脚本 爬虫分类: 通用爬虫:抓取系统中重要的组成部分。抓取的是一整张页面数据聚焦爬…

I2C总线驱动

一. I2C背景知识 SOC芯片平台的外设分为: 一级外设:外设控制器集成在SOC芯片内部二级外设:外设控制器由另一块芯片负责,通过一些通讯总线与SOC芯片相连 Inter-Integrated Circuit: 字面意思是用于“集成电路之间”的…

SELECT COUNT(*) 会造成全表扫描?回去等通知吧

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/T…

CPU_并行(多线程)不同高性能旋转图片

并行(多线程)不同高性能旋转图片 代码 ImageStuff.h struct ImgProp {int Hpixels;int Vpixels;unsigned char HeaderInfo[54];unsigned long int Hbytes; };struct Pixel {unsigned char R;unsigned char G;unsigned char B; };unsigned char** CreateBlankBMP(); unsigned…

Java中>>,>>=,<<,<<=运算符

今天在刷LeetCode的时候遇到了一个运算符<<&#xff0c;对这个运算符的意思有点模糊&#xff0c;然后便开始面向百度学习&#xff0c;但是发现&#xff0c;很多篇帖子表达的意思太文章化&#xff0c;不够通俗易懂&#xff0c;于是打算写下这篇帖子&#xff0c;让大家能够…

工作笔记——微信支付开发相关知识整理

在最近的工作中&#xff0c;引入了微信小程序支付&#xff0c;在开发过程中积累和整理了一些技术知识&#xff0c;现将其整理如下 目录 一、概念认识 &#xff08;一&#xff09;术语介绍 &#xff08;二&#xff09;名词解释 &#xff08;四&#xff09;对接微信支付接口规…

Win10安卓子系统安装教程

Win10安卓子系统安装教程必要安装文件下载和安装子系统安装方法方法一&#xff1a;安装 WSA PacMan方法二&#xff1a;安装 APK安装程序必要安装文件下载和安装 win10安卓子系统和win11子系统的安装一样&#xff0c;都必须要安装适用于 Android ™的 Windows 子系统设置的软件…

Java设计模式中行为型模式是什么/模板方式又是什么,编程怎么运用

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 6.行为型模式 6.1 概述 6.1.1 特点 用于描述程序在运行时复杂的流程控制&#xff0c;即描述多个类或对象之间怎么相互协作共同完成单个对象都无法单独完成任务涉…

分布式基础篇3——前端开发基础知识(谷粒商城)

前端技术对比一、ES61、简介2、什么是 JavaScript3、ES6新特性3.1 let3.2 const3.3 解构表达式3.4 字符串扩展3.5 函数优化3.6 对象优化3.7 map 和 reduce3.8 Promise3.9 模块化二、Vue1、MVVM 思想2、Vue 简介3、Vue 入门案例4、Vue 指令插值表达式v-text、v-htmlv-bindv-mode…

【CANN训练营第三季】基于昇腾PyTorch框架的模型训练调优

文章目录性能分析工具PyTorch Profiling性能分析工具CANN Profiling结业考核1、使用Pytorch实现LeNet网络的minist手写数字识别。2、采用课程中学习到的手工或者自动迁移方式&#xff0c;将上述脚本迁移到昇腾npu上&#xff0c;单机单卡&#xff0c;提供迁移脚本&#xff0c;突…

YOLOv5视觉AI库安装

打开YOLOv5开源仓库: https://github.com/ultralytics/yolov5/blob/master/README.zh-CN.md下载源码:安装 : pip install -r requirements.txt完成安装目标检测推理可通过PyTorch Hub加载YOLOv5检测模型检测图像并返回数据帧使用YOLOv5要先安装opencv-python和pandas库安装open…

C#,图像二值化(18)——全局阈值的模糊集理论算法(Huang Thresholding)与源程序

1 模糊集理论模糊集理论,也称为模糊集合论,或简单地称为模糊集,1965年美国学者扎德在数学上创立了一种描述模糊现象的方法—模糊集合论。这种方法把待考察的对象及反映它的模糊概念作为一定的模糊集合&#xff0c;建立适当的隶属函数&#xff0c;通过模糊集合的有关运算和变换&…

arduino - pinMode参数1的确定 - 以arduino nano every核心板为例

文章目录arduino - pinMode参数1的确定 - 以arduino nano every核心板为例概述笔记pins_arduino.hABX00028-datasheet.pdf简单的辨认管脚号就照ABX00028-datasheet.pdf来ENDarduino - pinMode参数1的确定 - 以arduino nano every核心板为例 概述 arduino nano every的核心板使…

我的交易抽象思路分享

这几天我老是抛出一些问题给老师们&#xff0c;都是故意而为之&#xff0c;因为我靠这种方式自己引导自己很多年&#xff1b; 比如&#xff1a;龙头真的存在么&#xff1f;为何前几天它还不是龙头&#xff0c;怎么今天就是了&#xff1f; 再如&#xff1a;交易模式和交易系统…

微信小程序解密encryptedData报错pad block corrupted

前要&#xff1a; 今天调试一下微信授权登录的时候老是第一次报错解密失败pad block corrupted&#xff0c;第二次授权的时候正常&#xff0c;因为第一次已经获取到手机号码&#xff01; 后端代码&#xff1a; public static JSONObject getUserInfo(String encryptedData, S…