热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Window搭建部署RocketMQ步骤详解

这篇文章主要介绍了Window搭建部署RocketMQ步骤详解,RocketMq是一个由阿里巴巴开源的消息中间件,脱胎去阿里每部使用的MetaQ,在设计上借鉴了Kafka。,需要的朋友可以参考下


以前简单用过ActiveMQ但是公司项目上使用的是RocketMQ,所以准备多花点时间在这上面,搞懂项目的配置使用。

看了很多资料,先说说我自己对RocketMQ的简单理解。不管是我们写的消费者还是生产者都属于客户端,而我们需要安装RocketMQ,这是属于服务端。和ActivieMQ、zookeeper类似,消费者、生成者、服务端(NameServer)之间是采取观察者模式实现。

在操作系统上安装RocketMQ,启动服务端NameServer、启动Broker,书写Consumer代码,运行消费者。书写Producer代码,运行生产者。

基本简单逻辑是这样的,当然其中还有很多细节。平时在测试时我们都在window上使用,踩了点坑,成功完成。

安装运行

1、下载

建议下载发行版本,我试过自己编译,不知道为何报错了。

rocketmq-all-4.2.0-bin-release.zip

解压出来如下:

2、启动

NameServer

在启动之前需要配置系统环境,不然会报错。配置完成记得重启电脑

Please set the ROCKETMQ_HOME variable in your environment!

系统环境变量名:ROCKETMQ_HOME

每个人不一样,对比如上我的路径—-变量值:D:\rocketMQ

进入window命令窗口,进入bin目录下,执行

start mqnamesrv.cmd

如上则NameServer启动成功。使用期间,窗口不要关机。

Broker

同理,再次开一个命令窗口,进入bin目录下,输入

start mqbroker.cmd -n localhost:9876

如上的 ip+port 是NameServer的进程,因为Nameser安装启动在本地,所以这里的 ip 是 localhost。

运行如上命令,可能会报如下错误。找不到或无法加载主类

如果出此情况,打开bin-->runbroker.cmd,修改%CLASSPATH%成

"%CLASSPATH%"

保存再次执行如上命令。执行成功后,窗口并不会显示什么,只是一个空窗口,代表成功。

书写代码

依赖RocketMQ


org.apache.rocketmq
rocketmq-client
4.2.0

1、Consumer

public class Consumer {
public static void main(String[] args) throws MQClientException {
//这里填写group名字
DefaultMQPushConsumer cOnsumer= new DefaultMQPushConsumer("my-group-name-A");
//NameServer地址
consumer.setNamesrvAddr("localhost:9876");
//1:topic名字 2:tag名字
consumer.subscribe("topic-name-A", "tag-name-A");
consumer.registerMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(
List msgs, ConsumeConcurrentlyContext context) {
for (MessageExt msg : msgs) {
System.out.println(new String(msg.getBody()));
}
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
});
consumer.start();
System.out.println("Consumer Started!");
}
}

先运行起来

2、Producer

注意匹配相应参数:group topic tag

public class Producer {
public static void main(String[] args) throws MQClientException, RemotingException, InterruptedException, MQBrokerException {
DefaultMQProducer producer = new DefaultMQProducer("my-group-name-A");
producer.setNamesrvAddr("localhost:9876");
producer.start();
Message message = new Message("topic-name-A","tag-name-A","Message : My blog address guozh.net".getBytes());
producer.send(message);
System.out.println("Message sended");
producer.shutdown();
}
}

再次运行 producer。

然后去 Consumer 看看是否收到消息。

监控平台

和其他的MQ一样,这里也提供了Window版本可视化的监控和 Linux监控。可以看到消息消费的具体情况,但是其实在实际开发过程中,Window显示的界面数据非常少,看不到多少内容。所以实际项目中都是看 Linux 数据。

我们这边项目看MQ消费情况也是在Linux上部署查看。

但是可以学习学习,为Linux的安装拓展画面感。

1、下载

rocketmq-console

其实这里提供了安装部署的方法,可以根据实际情况来

所以一步一步来吧,首先修改配置文件。修改application.properties,具体位置如下

rocketmq-console\src\main\resources

主要如上两处需要修改,平台部署的端口。我这里 8080 没被使用,这里就用 8080。下面是NameServer的启动位置,根据自己实际情况填写即可。

2、启动
首先,上面的 Tips 也说了,看看自己的Maven镜像是不是阿里云的,不然下载jar可能下载不下来或者很慢,这里不用说了。

进入命令窗口,进入rocketmq-console目录,执行。

mvn clean package -Dmaven.test.skip=true

Build成功后,再次执行

java -jar target/rocketmq-console-ng-1.0.0.jar

完成后,进入网址即可,比如我这是 localhost:8080

ok!完成,估计后面会好好的学习RocketMQ。


推荐阅读
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 开发笔记:读《分布式一致性原理》JAVA客户端API操作2
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了读《分布式一致性原理》JAVA客户端API操作2相关的知识,希望对你有一定的参考价值。创 ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • python zookeeeper 学习和操作
    1.zookeeeper介绍ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的 ... [详细]
  • Zookeeper为分布式环境提供灵活的协调基础架构。ZooKeeper框架支持许多当今最好的工业应用程序。我们将在本章中讨论ZooKeeper的一些最显着的应用。雅虎ZooKee ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
  • 原创 | 大数据入门基础系列之ClouderaManager版本的Hive安装部署
    添加服务,一 ... [详细]
  • HBase系列之hbase2.2.3安装
    1.下载地址hbase-2.2.3下载地址2.解压安装1)解压tarzxvfhbase-2.2.3-bin.tar.gz2)环境变量配置vim ... [详细]
author-avatar
姿萱俊达俊宏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有