写在前面:
1、基于rocketmq 4.2.0版本
2、64位 win10 系统
3、JDK 1.8 (注意,jdk路径一定不要有空格,不然执行相应的cmd命令时会报错)
4、其它需要的软件,maven,git

一、下载二进制程序包

在官网选择编译后的压缩包下载
http://rocketmq.apache.org/release_notes/release-notes-4.2.0/
下图中红框处

或者去apache存档库中下载
http://archive.apache.org/dist/rocketmq/4.2.0/

下载好的文件: rocketmq-all-4.2.0-bin-release.zip

将下载好的zip包解压,注意路径也不要包含空格。

二、修改rocketmq配置
  这一步也可以跳过,但有可能会因为内存设置过大导致一系列的问题
需要执行的命令都在程序目录下的bin文件夹下,主要是mqnamesrv.cmd和mqbroker.cmd这两个命令,但他们又都各自调用了runserver.cmd和runbroker.cmd命令,分别修改这两个文件里的JAVA_OPT设置,如下

set "JAVA_OPT=%JAVA_OPT% -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
将 Xms Xmx 这两个值改小一些,改为1g,如:
 
set "JAVA_OPT=%JAVA_OPT% -server -Xms1g -Xmx1g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

三、启动 NameServer

在rocketmq安装目录下的bin目录下,执行命令:

start mqnamesrv.cmd
mqnamesrv.cmd -n localhost:9876

出现The Name Server boot success.字样表示成功

四、启动 Broker

在rocketmq安装目录下的bin目录下,执行命令:

start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
mqbroker.cmd -n localhost:9876

五、java示例代码
添加maven依赖
 
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.2.0</version>
</dependency>

---------------------

消费者
import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.message.MessageExt; import java.util.List; public class Consumer {
public static void main(String[] args) throws MQClientException {
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("my-group"); consumer.setNamesrvAddr("localhost:9876");
consumer.setInstanceName("rmq-instance");
consumer.subscribe("demo-topic", "demo-tag"); consumer.registerMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(
List<MessageExt> 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.");
}
}
---------------------

生产者

import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message; import java.util.Scanner; public class Producer {
public static void main(String[] args) throws MQClientException {
DefaultMQProducer producer = new DefaultMQProducer("my-group");
producer.setNamesrvAddr("localhost:9876");
producer.setInstanceName("rmq-instance");
producer.start();
try {
Message message = new Message("demo-topic", "demo-tag", "这是一条测试消息".getBytes());
producer.send(message); while (true) {
String text = new Scanner(System.in).next();
Message msg = new Message("demo-topic",// topic
"demo-tag",// tag
text.getBytes() // body
);
SendResult sendResult = producer.send(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
producer.shutdown();
}
}
---------------------
运行Consumer和Producer,然后在生产者控制台输入文本,在消费者控制台就可以看到消息了。
六、搭建RocketMQ  web控制台
1、访问 https://github.com/apache/rocketmq-externals/ ,
使用git将代码clone下来
2、修改项目配置信息
这是一个用springboot编写的工程,进入到 rocketmq-externals\rocketmq-console\src\main\resources 目录下,编辑 application.properties 文件, 修改mq的连接地址信息:
 
rocketmq.config.namesrvAddr=localhost:98761
3、启动项目
在rocketmq-externals\rocketmq-console目录下,执行:
nohup java -jar shareniu.jar >/dev/null  &  
 
mvn spring-boot:run
等待启动成功。
 
[2018-03-05 10:54:19.823]  INFO Initializing ProtocolHandler ["http-nio-8080"]
[2018-03-05 10:54:19.853]  INFO Starting ProtocolHandler [http-nio-8080]
[2018-03-05 10:54:19.893]  INFO Using a shared selector for servlet write/read
[2018-03-05 10:54:19.929]  INFO Tomcat started on port(s): 8080 (http)
[2018-03-05 10:54:19.940]  INFO Started App in 9.61 seconds (JVM running for 18.979)12345
4、浏览器访问:http://localhost:8080
---------------------

windows搭建RocketMQ服务的更多相关文章

  1. windows搭建SVN服务MD版

    windows搭建SVN服务MD 1下载TortoiseSVN 官网下载 根据自己系统环境选择适合的版本 2 安装TortoiseSVN 双击运行程序 出现第一个小坑 原来是你的系统没有打 kb299 ...

  2. 在 Windows 搭建 SVN 服务

    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16671311.html 最近公司给配了台新电脑,配置 ...

  3. SpringCloud实战 | 第一篇:Windows搭建Nacos服务

    前言 为什么放弃eureka选择nacos?本地开发环境需要搭建nacos-server,想着是很简单的事但是被一些文章(少了关键必要的步骤)给带偏了,所以亲测成功后写了这篇文章. 搭建nacos-s ...

  4. windows搭建SVN服务

    下载`TortoiseSVN 官网下载址:https://www.visualsvn.com/visualsvn/download/tortoisesvn/ 根据自己系统环境选择 安装Tortoise ...

  5. 在windows上搭建SSH服务踩过的坑

    前两天安装了windows操作系统,想在windows上做内网穿透,所以就想在windows下启用ssh服务,今天就来讲一下我在搭建ssh服务中遇到的坑. 我显示在Mac下搭建了ssh服务,并且测试通 ...

  6. 初步搭建RocketMQ环境

    1. 去官网https://github.com/alibaba/RocketMQ/releases下载alibaba-rocketmq-3.2.6.tar.gz,这个是已经maven install ...

  7. 如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享

    如何在RHEL7上搭建Samba服务实现Windows与Linux之间的文件共享 实现环境:VMware workstations.RHEL7.0 第一步:配置网卡IP及yum软件仓库 命令:vim ...

  8. Windows上搭建远程访问服务

    Windows上搭建远程访问服务 转自:https://blog.51cto.com/13871378/2153308?source=dra 概述:允许客户机通过拨号连接或虚拟专用网连接到公司局域网, ...

  9. 【阿里云】在 Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务

     Windows Server 2016 下使用 FileZilla Server 安装搭建 FTP 服务 一.安装 Filezilla Server 下载最新版本的 Filezilla Server ...

随机推荐

  1. SSH框架搭建笔记

    1.建立一个web项目,设置编码格式,建立src下的包,建立资源文件夹 2.加入Spring运行必须的jar包(5个jar包) spring-beans-4.1.4.RELEASE.jar sprin ...

  2. 修改svn默认端口

    Subversion有两种不同的配置方式,一种基于它自带的轻量级服务器svnserve,一种基于非常流行的Web服务器Apache. 根据不同的配置方式,Subversion使用不同的端口对外提供服务 ...

  3. backtrace和backtrace_symbols

    一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的. 在glibc ...

  4. CSS 重置默认样式

    1. 概述 1.1 说明 css重置样式主要是为了让各个浏览器的CSS样式有一个统一的基准,使HTML元素样式在跨浏览器时有一致性的效果. 备注:浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的 ...

  5. Python-Pool类

    目录: multiprocessing模块 Pool类 apply apply_async map close terminate join 进程实例 multiprocessing模块 如果你打算编 ...

  6. GDOI2018 滑稽子图 [斯特林数,树形DP]

    传送门并没有 思路 见到那么小的\(k\)次方,又一次想到斯特林数. \[ ans=\sum_{T} f(T)^k = \sum_{i=0}^k i!S(k,i)\sum_{T} {f(T)\choo ...

  7. Confluence 6 色彩选择器展开的页面

    色彩选择器展开的页面中对色彩的选择配置. https://www.cwiki.us/display/CONFLUENCEWIKI/Customising+Colour+Schemes

  8. java内部类和异常类的概念

    1.内部类的外嵌类的成员变量在内部类中任然有效,内部类中的方法也可以调用外嵌类中的 方法,内部类中不可以声明类的变量和方法,外嵌的类体可以用内部类声明对象,作为外嵌类的成员.内部类仅供他的外嵌类使用. ...

  9. Niagara物联网框架机制一(笔记)

    一.介绍: Niagara是Tridium公司研发的设计用于解决设备连接应的软件框架平台技术,应用框架是一个软件工程中的概念,不同于普通的软件,它是用于实现某应用领域通用完备功能的底层服务,使用这种框 ...

  10. 简单的做一个图片上传预览(web前端)

    转载:点击查看原文 在做web项目很多的时候图片都是避免不了的,所以操作图片就成了一个相对比较棘手的问题,其实也不是说很麻烦,只是说上传然后直接预览的过程很恶心,今天简单的做一个处理. 效果预览: & ...