linux 安装 RocketMQ 4.7

news/2024/9/14 1:29:26/ 标签: rocketmq, linux, 中间件

安装介绍

  • Centos 7
  • RocketMQ 4.7
  • JDK 1.8  (安装JDK参考)
  • RocketMQ的官网地址: http://rocketmq.apache.org
  • Github地址是 https://github.com/apach e/rocketmq

安装操作

下载RocketMQ

RocketMQ运行版本下载地址: Rocketmq-all-4.7.1-bin-release.zip

RocketMQ源码版本下载地址: https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.7.1/r ocketmq-all-4.7.1-source-release.zip

这两个版本我们都下载下来。

安装RocketMQ

1、创建用户及目录,创建一个操作用户用来运行自己的程序,与root用户区分开。

#设置用户密码
[root@worker1 ~]# useradd app
[root@worker1 ~]# passwd app
#创建目录,并更改用户及用户组
[root@worker1 ~]# mkdir /home/app
[root@worker1 ~]# chown oper:oper /home/app

2、解压文件,进入到rocketmq目录,没有的话创建一下。

su app  #切换用户
cd /home/app #切换目录
mkdir rocketmq #创建目录
tar -zxvf rocketmq-all-4.7.1-bin-release.zip #解压文件

3、配制环境变量,完成安装

1、把rocketmq的bin目录也配置到环境变量当中
执行命令:vi ~/.bash_profileexport JAVA_HOME=/app/jdk1.8/export ROCKETMQ_HOME=/home/app/rocketmq/rocketmq-all-4.7.1-bin-releasePATH=$ROCKETMQ_HOME/bin:$JAVA_HOME/bin:$PATH:$HOME/.local/bin:$HOME/binexport PATH
处理添加ROCKETMQ_HOME 并修改 PATH
2、退出编辑,并执行source ~/.bash_profile让环境变量生效

启动RocketMQ

RocketMQ由以下这几个组件组成,所以我们要启动RocketMQ服务,需要先启动NameServer。

  • NameServer : 提供轻量级的Broker路由服务。
  • Broker:实际处理消息存储、转发等服务的核心组件。
  • Producer:消息生产者集群。通常是业务系统中的一个功能模块。
  • Consumer:消息消费者集群。通常也是业务系统中的一个功能模块。

1、修改NameServer服务的启动内存,再启动

RocketMQ默认预设的JVM内存是4G,这是RocketMQ给我们的最佳配置,修改的方式是直接修改
bin/runserver.sh。 用vi runserver.sh编辑这个脚本修改为如下:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m 
XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"然后我们用静默启动的方式启动NameServer服务
nohup bin/mqnamesrv &

2、启动broker,Broker的默认预设内存是8G,也需要调整再启动

bin目录下 vi runbroker.sh,找到这一行,内存调整如下:
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"找到conf/broker.conf, vi指令进行编辑,在最下面加入一个配置
autoCreateTopicEnable=true然后也以静默启动的方式启动runbroker.sh
nohup ./mqbroker &

验证RocketMQ

在RocketMQ的安装包中,提供了一个tools.sh工具可以用来在命令行快速验证RocketMQ服务。

首先需要配置一个环境变量NAMESRV_ADDR指向我们启动的NameServer服务。

  • 执行命令:export NAMESRV_ADDR='localhost:9876'

启动消息生产者发送消息:默认会发1000条消息

  • 执行命令:bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

启动消息消费者接收消息

  • 执行命令:bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

注意:如果在发送消息时报如下错

org.apache.rocketmq.acl.common.AclException: [10015:signature-failed] unable to calculate a request signature. error=[10015:signature-failed] unable to calculate a request signature. error=Algorithm HmacSHA1 not available

可以尝试通过这些操作试一下

修改tools.sh的内存

JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn64m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m"

配置tools.sh的"Djava.ext.dirs",添加jvm的ext绝对路径,在最后加上

JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib:${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext"
 

关闭RocketMQ

要关闭RocketMQ服务可以通过mqshutdown脚本直接关闭

# 1.关闭NameServer
sh bin/mqshutdown namesrv
# 2.关闭Broker
sh bin/mqshutdown broker


http://www.ppmy.cn/news/1475892.html

相关文章

【前端】零基础学会编写CSS

一、什么是CSS CSS (Cascading Style Sheets,层叠样式表)是一种是一种用来为结构化文档(如 HTML 文档)添加样式(字体、间距和颜色等)的计算机语言,能够对网页中元素位置的排版进行像素级别的精…

【概率论三】参数估计

文章目录 一. 点估计1. 矩估计法2. 极大似然法1. 似然函数2. 极大似然估计 3. 评价估计量的标准2.1. 无偏性2.2. 有效性2.3. 一致性 三. 区间估计1. 区间估计的概念2. 正态总体参数的区间估计 参数估计讲什么 由样本来确定未知参数参数估计分为点估计与区间估计 一. 点估计 所…

ATC 2024 | 快手开源大模型长序列训练加速技术,性能大幅超越 SOTA 方案

导读 在深度学习领域,训练大型语言模型(LLMs)一直是一项极具挑战性的任务,它不仅需要巨大的计算资源,同时对内存的消耗也非常巨大。近期,快手大模型团队提出了创新的方法,包括感知流水并行的激…

数模打怪(五)之相关系数

一、什么是相关系数 相关系数:用来衡量两个变量之间的相关性的大小。 根据数据满足的不同条件,选择不同的相关系数进行计算和分析。 两种最为常用的相关系数:person相关系数和spearman等相关系数。 二、Person相关系数 1、什么是Person相…

哈希表(知识点+leetcode)以及字符串哈希

文章目录 一、什么是哈希表二、哈希表常见结构介绍leetcode经典例题242 有效的字母异位词思路编程 349 两个数组的交集思路编程 1 两数之和思路编程 454 四数相加II思路编程 字符串哈希前言思路编程 一、什么是哈希表 哈希表是散列表,就是通过关键码值而直接进行访…

16_Shell好用工具:sed

16_Shell好用工具:sed 零、语法解析 sed [选项参数] [模式匹配/sed命令] 文件 命令说明aadd,新增iinsert,新增cchange,修改ssubstitute,替换ddelete,删除pprint, 打印 通常与 -n 连用 一、增(…

五、 计算机网络(考点篇)

1 网络概述和模型 计算机网络是计算机技术与通信技术相结合的产物,它实现了远程通信、远程信息处理和资源共享。计算机网络的功能:数据通信、资源共享、管理集中化、实现分布式处理、负载均衡。 网络性能指标:速率、带宽(频带宽度或传送线路…

Lua协程(同步的多线程)

1.coroutine.create( func ) 创建一个协程,返回co(coroutine),参数是一个函数,当调用resume时就唤醒co并调用函数 2.coroutine.resume(co, 函数参数们) 启动协程co并传入协程调用函数的参数,可以带回协程…

PHP恋爱话术微信小程序系统源码

💖恋爱高手的秘密武器!恋爱话术微信小程序,让情话信手拈来✨ 💭【开场白:恋爱路上的甜蜜助手】💭 还在为跟心仪的TA聊天时找不到话题而尴尬?或是担心自己说的每句话都显得那么“直男/女”&…

zookeeper和Kafka消息队列群集部署

消息队列概念 什么是消息队列 消息(Message)是指在应用间传送的数据消息队列(Message Queue)是一种应用间通信方式解决方法,确保消息的可靠传输 消息队列的特征 存储 将消息存储在某种类型的缓冲区中,…

电脑如何快速删除相同的文件?分享5款重复文件删除工具

您有没有发现最近电脑运行速度变慢了?启动时间变得更长,甚至完成简单任务也难以如常?这可能是因为重复文件堆积所致。我们发现,清理或移动这些重复的文件和文件夹可以产生惊人的效果。通过删除不必要的重复文件和垃圾文件&#xf…

传输层协议之UDP

1、端口号 我们在应用层创建的套接字,是需要通过bind()接口绑定我们的IP地址与端口号的,这是因为数据从传输层向上交付到应用层时,需要用端口号来查找特定的服务进程。一般在网络通信时,用IP地址标识一台主机,用端口号…

一文学会鉴别“套壳”ChatGPT模型

一文学会鉴别“套壳”ChatGPT模型 随着ChatGPT等明星模型的诞生,市场上也开始出现一些“套壳”现象,即部分模型表面标榜原创或先进,实则在核心算法上与知名模型高度相似。作为技术探索者,如何拨开迷雾,识别这些“李鬼…

蓝桥杯14小白月赛题解

直接输出pi/ti,for遍历 #include <iostream> using namespace std; #define int long long int a,b,c ; double t1.00; signed main() {cin>>a;int an0;for(int i1;i<a;i){cin>>b>>c;if(t>c*1.00/b){tc*1.00/b;ani;} }cout<<an<<e…

MYSQL--第八次作业

MYSQL–第八次作业 一、备份与恢复 环境搭建&#xff1a; CREATE DATABASE booksDB; use booksDB;CREATE TABLE books ( bk_id INT NOT NULL PRIMARY KEY, bk_title VARCHAR(50) NOT NULL, copyright YEAR NOT NULL );CREATE TABLE authors ( auth_id INT NOT NULL PRI…

老物件线上3D回忆展拓宽了艺术作品的展示空间和时间-深圳华锐视点

在数字技术的浪潮下&#xff0c;3D线上画展为艺术家们开启了一个全新的展示与销售平台。这一创新形式不仅拓宽了艺术作品的展示空间&#xff0c;还为广大观众带来了前所未有的观赏体验。 3D线上画展制作以其独特的互动性&#xff0c;让艺术不再是单一的视觉享受。在这里&#x…

大数据之路 读书笔记 Day6 离线数据开发之数据开发平台

回顾 Day5 数据同步遇到的问题与解决方案Day4 数据同步 1. 统一计算平台 1.1 MaxCompute概述 MaxCompute&#xff08;原名 ODPS&#xff0c;Open Data Processing Service&#xff09;是阿里云提供的一种快速、完全托管的EB级数据仓库解决方案。它为用户提供了海量数据存储和实…

STM32智能无人机控制系统教程

目录 引言环境准备智能无人机控制系统基础代码实现&#xff1a;实现智能无人机控制系统 4.1 数据采集模块 4.2 数据处理与控制算法 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;无人机管理与优化问题解决方案与优化收尾与总结 1. 引言 智能无人机控…

[终端安全]-6 移动终端之应用程序安全

笔者在终端安全专题前面的文章中介绍了移动终端硬件安全和操作系统安全&#xff0c;本文主要介绍移动终端应用安全。在本文最前面&#xff0c;笔者想先解答一位朋友的疑问&#xff0c;为什么需要费心打造一个完整的面面俱到的安全体系&#xff1f; 1 移动终端安全的重要性 移…

C++——类和对象(上)

文章目录 一、类的定义1.类定义格式2.访问限定符3.类域 二、实例化1.实例化概念2.对象⼤⼩ 三、 this指针 一、类的定义 1.类定义格式 与定义结构体类似 class ST {//成员变量int val;//成员函数void print(){cout << val << endl;}};class为定义类的关键字&…