官网:http://rocketmq.apache.org/

下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.9.1/ (注:不同版本需要去官网下载好吧!)

快速起步:http://rocketmq.apache.org/docs/quick-start/

快速导航:

Name Server、Broker 启动

RocketMQ Connect Console

RocketMQ 实现的是JMS,而RabbitMQ实现的是AMPQ协议,

RocketMQ 语言是Java,延迟毫秒级别。RabbitMQ 语言是elang,天生具有高并发特性,延迟纳秒级别

环境准备

制作RocketMQ环境、可视化工具:Maven

服务器环境:JDK(64位,最好是JDK8)

编译 RocketMQ

RocketMQ需要我们使用Maven编译,即可。

打包命令

第一步肯定是官网下source文件,然后进入第一级别文件 CMD,输入下方命令

mvn -Prelease-all -DskipTests clean install -U

打包结果

本次打包耗时 大约5分钟,编译过的,后续更新明显变快!

打包完成后,就去找 编译好的RocketMQ文件吧

请在此目录的基础上 加上:

distribution/target/rocketmq-4.9.1/rocketmq-4.9.1

这个就是我们自己的rocketmq,上一级文件夹有压缩好的,自己上传到Linux服务器吧

# Linux 解压命令
tar -zxvf 压缩包名

启动 Namesrv 与 Brokrer

启动 Name Server 注意需要64位Java环境

无Java环境Linux 使用下面命令直接无结果且卡住命令行,我直接sh bin/mqnamesrv 才看到报错,我没有javahome,为了更好的使用请不要用jdk11,请使用jdk8

# 搜索JDK
yum search java|grep jdk

# 安装JDK
yum install java-1.8.0-openjdk-devel.x86_64

# 卸载yum安装的JDK
yum -y remove java

# Linux 后台启动 name server
nohup sh bin/mqnamesrv &

# 或者进入bin目录启动 (不知道为啥不可用)
nohup runserver.sh &

# 查看日志是否启动成功
tail -f ~/logs/rocketmqlogs/namesrv.log

看到boot success 即成功!

The Name Server boot success. serializeType=JSON

启动Broker

他娘的到处是坑,一上午全处理这些杂七杂八的问题了,注意:Broker启动默认是通过sh脚本启动,里么指定了JVM启动参数,如JAVA_OPT=”${JAVA_OPT} -server -Xms8g -Xmx8g” 你服务器一共就4g内存,肯定跑不起来,修改一下再次尝试吧!你需要修改runbroker.sh、runserver.sh(这个服务配置,不同版本内容不一样)

# 不指定配置文件启动,第一次推荐用这个
nohup sh bin/mqbroker -n localhost:9876 &


# 指定配置文件启动
nohup sh bin/mqbroker -c ./conf/broker.conf &


# 查看日志
tail -f ~/logs/rocketmqlogs/broker.log 
# 日志位置在 
cd /root/logs/rocketmqlogs

看到类似boot Success 就启动成功了!

The broker[VM-16-4-tlinux, 10.0.16.4:10911] boot success. serializeType=JSON and name server is localhost:9876

关闭服务器 brokernamesrv

# 先关闭broker
> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

# 再关闭namesrv
> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

发送和接收消息

在发送/接收消息之前,我们需要告诉客户端名称服务器的位置。RocketMQ 提供了多种方法来实现这一点。为简单起见,我们使用环境变量NAMESRV_ADDR

 # 前置操作
 > export NAMESRV_ADDR=localhost:9876

 # 启动生产者生产消息,生产完毕,进程就终止了
 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...


 # 启动消费者消费,注意消费者去消费消息不会主动终止,他会保留进程以监听消息
 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

RocketMQ Connect Console

特别说明:Connect Console 只是代替了原始的mqadmin命令,这里我不过多讲解,直接跳过

# bin 目录下有个mqadmin文件,这个就是执行命令的文件,后面跟着非常多种的参数
# 格式
./bin/mqadmin {command} {args}

RocketMQ Connect Console 可视化界面地址:https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0

老规矩 直接cmd进入 pom文件同级的位置,直接打包

mvn clean package -Dmaven.test.skip=true

成功,接下来放到服务器去启动!

nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=9877 --rocketmq.config.namesrvAddr=127.0.0.1:9876 &


# 说明,namesrvAddr是RocketMQ的地址。RocketMQ Connect Console启动时,确保开启namesrvAddr 和 Broker

# 开启防火墙
firewall-cmd --zone=public --add-port=9877/tcp --permanent
# 重载防火墙
firewall-cmd --reload

去访问吧!http://127.0.0.1:9877/#/

成功!

发表评论

您的电子邮箱地址不会被公开。

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源