Linux环境下配置安装RocketMQ

news2024/12/30 2:59:56

1.下载

官网下载:下载链接
根据需要下载自己需要的版本、本文使用下载的是:4.7.0版本
在这里插入图片描述
在这里插入图片描述

2.安装

创建目录,使用ftp工具上传下载的包到上面创建的目录下。

cd /usr/local
mkdir rocketmq-all-4.7.0

注意:rocketmq 需要 Linux 上安装JDK,版本 1.8 以上,如果你 Linux 上已经配置了 Java 环境可跳过,未安装请自行安装。
在这里插入图片描述
上传之后进行解压:

unzip rocketmq-all-4.7.0-bin-release.zip

在这里插入图片描述

解压后目录结构
benchmark:这里面就是一些可以直接运行,进行测试的 sh 文件
bean:该目录是比较常用的,里面是一些可执行文件
conf:这里面就是一些配置文件
lib:就是 mq 所依赖的第三方 jar 包

3.启动

3.1 启动:NameServer

进入 bin 目录 cd bin/

  nohup ./mqnamesrv & 
  或者
  nohup sh bin/mqnamesrv &

查看日志

tail -f ~/logs/rocketmqlogs/namesrv.log

#出现下面信息成功

  The Name Server boot success...

在这里插入图片描述

3.2 启动:Broker

在启动之前先修改两个配置

cd bin

vim runserver.sh

mq 默认需要的内存是比较大的,根据自己 Linux 的内存大小去设置,我这里就改成 256 256 128 了

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

在这里插入图片描述

cd bin

vim runserver.sh

调整小点

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

在这里插入图片描述
启动Broker

nohup ./mqbroker -n localhost:9876 &

查看日志

tail -f ~/logs/rocketmqlogs/broker.log

看到下面信息代表成功

  The broker[%s, 172.30.30.233:10911] boot success...

注意:不要把打印日志的这个窗口关闭、窗口关闭进程结束了

4.测试

新开开了两个窗口,都在 mq 的 bin 目录下,一个用于发送消息,一个用于接收消息。

前面开的窗口不要关闭、不要关闭。
在这里插入图片描述
发送消息:

# 声明一个 namesrv 的地址
export NAMESRV_ADDR=localhost:9876
# 发送消息
./tools.sh org.apache.rocketmq.example.quickstart.Producer
# 出现下面信息成功发送
  SendResult [sendStatus=SEND_OK, msgId= ...

接收消息:

# 声明一个 namesrv 的地址
export NAMESRV_ADDR=localhost:9876
# 发送消息
./tools.sh org.apache.rocketmq.example.quickstart.Consumer
# 出现下面信息成功消费
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

5.安装控制台

下载源码:链接
在这里插入图片描述
在这里插入图片描述
修改配置信息:进入到解压的文件夹下修改 application.yml 文件,根据情况修改,注意端口冲突问题。
在这里插入图片描述
在这里插入图片描述
编译源代码、输入cmd进入到目录下(maven已经按照配置完成)
在这里插入图片描述
在这里插入图片描述

mvn clean package -Dmaven.test.skip=true

打包成功之后会生成target目录
在这里插入图片描述
在这里插入图片描述

如果打包中报错:

[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.3:install-node-and-yarn (install node and yarn) on project rocketmq-dashboard: Could not download Yarn: Could not download https://github.com/yarnpkg/yarn/releases/download/v1.22.10/yarn-v1.22.10.tar.gz: Connect to github.com:443 [github.com/20.205.243.166] failed: Connection timed out: connect -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

访问
https://github.com/yarnpkg/yarn/releases/download/v1.22.10/yarn-v1.22.10.tar.gz
手动下载、下载完成后找到maven配置的仓库地址下面的\com\github\eirslett\yarn\1.22.10、手动放进去。如果目录不存在手动创建。

cd  /usr/local/rocketmq-all-4.7.0

#创建目录存放编译好的控制台jar包
mkdir  rocketmq-console

使用ftp工具上传编译后的jar包到创建的目录下:
在这里插入图片描述

cd /usr/local/rocketmq-all-4.7.0/rocketmq-console

#启动jar包
java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

浏览器访问:注意打包编译源码之前配置文件自己修改的是什么这里端口就是什么。
这里没有设置账号密码、可以直接访问。
在这里插入图片描述

5.控制台开启密码登录功能

修改下载的源码的配置文件
在这里插入图片描述
打开密码配置文件
在这里插入图片描述
默认users.properties配置如下,需要修改用户名和密码

# Define Admin
admin=admin,1
 
# Define Users
user1=user1
user2=user2

配置用户名和密码

# Define Admin
admin=新密码,1
 
# Define Users
用户名=新密码

修改配置之后、需要重新编译打包、在上传到服务器对应目录下。
在这里插入图片描述
在这里插入图片描述
账号admin密码123456

6.启停脚本

启动脚本:NameServer、Broker、console全部启动
vim startMq.sh

#!/bin/bash

rocketmq_path="/usr/local/rocketmq-all-4.7.0/rocketmq-all-4.7.0-bin-release"
dashboard_path="/usr/local/rocketmq-all-4.7.0/rocketmq-console/rocketmq-dashboard-1.0.1-SNAPSHOT.jar"

function log_info() {
  echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO] $@"
}

function log_error() {
  echo "$(date '+%Y-%m-%d %H:%M:%S') [ERROR] $@" >&2
}

# 启动 mqnamesrv
nohup sh "$rocketmq_path/bin/mqnamesrv" > /dev/null 2>&1 &
log_info "Starting mqnamesrv..."

# 等待 mqnamesrv 启动完成
sleep 5

# 检查 mqnamesrv 是否成功启动
if ! pgrep -f "$rocketmq_path/bin/mqnamesrv" >/dev/null; then
  log_error "Failed to start mqnamesrv."
  exit 1
fi

log_info "mqnamesrv started successfully."

# 启动 mqbroker
nohup sh "$rocketmq_path/bin/mqbroker" -n localhost:9876 > /dev/null 2>&1 &
log_info "Starting mqbroker..."

# 等待 mqbroker 启动完成
sleep 5

# 检查 mqbroker 是否成功启动
if ! pgrep -f "$rocketmq_path/bin/mqbroker" >/dev/null; then
  log_error "Failed to start mqbroker."
  exit 1
fi

log_info "mqbroker started successfully."

# 启动 RocketMQ Dashboard
nohup java -jar "$dashboard_path" > /dev/null 2>&1 &
log_info "mqconsole started successfully..."


# 如果需要,在此处添加其他逻辑和命令

exit 0

停止脚本:NameServer、Broker、console全部停止
vim stopMq.sh

#!/bin/bash
sh /usr/local/rocketmq-all-4.7.0/rocketmq-all-4.7.0-bin-release/bin/mqshutdown broker
sh /usr/local/rocketmq-all-4.7.0/rocketmq-all-4.7.0-bin-release/bin/mqshutdown namesrv

# 指定进程名称
process_name="java -jar /usr/local/rocketmq-all-4.7.0/rocketmq-console/rocketmq-dashboard-1.0.1-SNAPSHOT.jar"

# 查询进程是否存在
pid=$(pgrep -f "$process_name")
if [ -n "$pid" ]; then
  echo "Process is running with PID: $pid"
  echo "Attempting to stop the process..."
  # 关闭进程
  kill "$pid"
  sleep 5 # 等待一段时间以确保进程已经停止
  # 再次查询进程是否存在
  pid=$(pgrep -f "$process_name")
  if [ -n "$pid" ]; then
    echo "Failed to stop the process."
  else
    echo "Process stopped successfully."
  fi
else
  echo "No console running."
fi

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

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

相关文章

7、卷积神经网络:基础部件+LeNet

1、图像卷积 1. 互相关运算 严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是互相关运算(cross-correlation),而不是卷积运算。在卷积层中,输入张量和核张量通过(互相关运算)产生输出张量。 首先…

【运维工程师学习】安装ubuntu20.04并配置SSH

【运维工程师学习】安装ubuntu20.04 1、镜像获取2、创建虚拟机3、开始安装4、配置SSH(1) 查看本地ssh版本(2) 安装ssh(3) 查看ssh运行状态(4) 设置开机自动启动(5) 重启(6) 安装net-tools(7) 查看ip5、SSH连接 1、镜像获取 https://next.itellyou.cn/Original/#cbpProduct?ID…

pdf如何导出为图片?分享三个方法PDF转图片!

将PDF文件转换为图片是在许多场景下都非常有用的操作,不仅能够保留原始文档的内容,还方便在各种平台上共享和展示。在本文中,我们将介绍三种简便的方法,帮助您将PDF文件快速转换为图片格式。 方法一:使用记灵在线工具…

黑客是这样的炼成的

---黑客的态度 黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。 要想被认为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备这种态度,你就不得不真的具备这种态度。但…

物理人机交互Physical human-robot interaction (pHRI)

物理人机交互是指人与机器之间通过物理接触或力传递进行交互的过程。它可以通过各种感知和操控技术实现,包括传感器、执行器、机器人和人体接口等。这种交互方式可以在多个领域和应用中发挥重要作用,例如机器人操作、虚拟现实、协作机器人和康复医疗等。 在物理人机交互中,…

Neo4J 特性CQL语句,函数,Springboot集成

Neo4J Neo4J Neo4J一、Neo4J相关介绍1.为什么需要图数据库方案1:Google方案2:Facebook 2.特性和优势3.什么是Neo4j4.Neo4j数据模型图论基础属性图模型Neo4j的构建元素 5.软件安装 二、CQL语句1.CQL简介2.CREATE 命令3.MATCH 命令4.RETURN 子句5.MATCH和R…

node版本管理工具nvm手册

文章目录 下载使用命令node.js其他版本下载下载exe版解压改名放入到指定位置 下载 github下载 使用命令 查看当前版本 nvm -v 查看被管理的node nvm list 切换node版本 nvm use 14.21.3 node.js其他版本下载 下载链接 下载exe版 解压改名放入到指定位置

Echarts柱状图数据过多设置滚动条效果

未设置前: 可以看出数据全部挤压在一起了 设置后: 下面多出一个滚动条,并且鼠标可以拖动数据 dataZoom: [{show: true,height:8,bottom:0,startValue: 0, //起始值endValue: 5, //结束值showDetail: false,fillerColor: "rgba(1, 132, …

10 Web全栈 组件化设计

前端架构层次设计 前端技术体系庞大,层级也非常分明,在架构设计领域中不能一概而论,任何应用种类都有自己独立的架构体系。比如在前端开发领域,在框架基础上进行应用构建的开发者锁思考的问题,与在组件库设计方面的开…

科大讯飞狂撒钱,400 万助力 AI 大赛

大家好,我是二哥呀。 6 月 15 日,科大讯飞的星火认知大模型 APP 上线,我第一时间带大家体验了一把,当时可以说是好评如潮。 后续有很多读者,比如说下面这位,私下找到我,让我帮忙审核通过一下他…

SpringCloud入门实战(十)- SpringCloud Bus消息总线

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 ,关注我,不迷路 。 💐学习建议:1、养成习惯,学习java的任何一个技术…

MySQL表聚合函数

前言 哈喽,各位小伙伴大家好,本篇文章为大家介绍几个MySQL中常用的聚合函数,什么是聚合函数,相信第一次看到这个名词的小伙伴是比较懵的,举个例子,比如说统计表中数据的个数,就可以使用MySQL中提…

软件测试技术分享丨支付测试

支付测试 引言:如今,随着非现金支付手段的不断推广和应用,“非现金社会”正在形成。非现金支付已成为日常生活中不可或缺的伙伴。那么,对于互联网产品来说,支付也是涉及到公司收入的一个重大环节。对于我们测试人员&am…

JavaScript 处理字符串数组数据方法

前端三件套中 JavaScript 就是充电处理业务逻辑的一个角色,在很多情况之下,或像在做项目之中去发起一些数据请求之后待服务器响应回馈给到客户端的时候,对于返回的数据需要进行一个格式的处理,比如有JSON,字符串&#…

Python 集合探索:解密高效数据操作和快速算法的奇妙世界

前言 在 Python 的众多数据结构中,集合(Sets)是一个引人注目且实用的概念。集合提供了一种存储无顺序、唯一元素的数据结构,它们不仅可以帮助我们高效处理数据,还能应用于各种算法和问题。 本博客将带您踏上一段关于…

python 从一个文件夹里面复制 符合要求的文件

记事本格式 import os def copy(src_file, dst_file):import shutil# 执行复制操作shutil.copy2(src_file, dst_file)def main(parent,data,dest_path):_list []for line in open(data, encoding"utf-8"):line line.strip()_list.append(line.split("\t&quo…

渠道归因(二)基于马尔可夫链的渠道归因

渠道归因(二)基于马尔可夫链的渠道归因 在应用当中,序列中的每个点通常映射为一个广告触点,每个触点都有一定概率变成真正的转化。通过这种建模,可以选择最有效,概率最高的触点路径。这种方法需要较多的数…

你知道怎么通过ai绘画图片描述生成图片吗

汤姆: 嘿,听说了吗?有几个特别酷的方法可以通过ai绘画图片描述生成出上面这些惊艳的图像! 玛丽: 真的吗?那听起来好神奇啊!怎么做到的? 汤姆: 其实很简单!你只需要用文字描述你想要的图片&…

POI批量导入和echars图表

下载模板 userList.jsp <a href"downloadUserExcel">下载模板</a>DownloadUserServlet.java /*** 下载*/ WebServlet("/downloadUserExcel") public class DownloadUserServlet extends HttpServlet {protected void doGet(HttpServletReq…

关于环肽试剂:118477-06-8,Cyclo(L-Phe-trans-4-hydroxy-L-Pro),知识普及

●中文名&#xff1a;环(L-苯丙氨酰-反式-4-羟基-L-脯氨酸) ●英文名&#xff1a;Cyclo(L-Phe-trans-4-hydroxy-L-Pro) 西安凯新生物科技有限公司供应的​各种环肽&#xff0c; 任何结构的环肽&#xff0c;可以进行相应的定制服务。环二肽&#xff1a; 2000/g or 3000/g 纯度…