RocketMQ入门(五)

今天的博客主题

      MQ消息中间件 --》RocketMQ --》RocketMQ入门(五)


本文主要对RocketMQ服务安装搭建部署详细介绍及控制台安装部署

 

目录

下载

安装部署

启动/停止服务

MQ控制台安装部署


下载

官网下载地址:https://rocketmq.apache.org/dowloading/releases/

在这个页面可以好好的看下,有下载指南什么的。

一般下载都不下载最新版,找一个稳定比较新的版本下载。

我们就下载一个4.5.0版本的来进行学习。4.5.0版本是19年3月发版的 算是比较新的了 也比较稳定。最新版本的是4.5.1

 

源码包下载下来3M左右,二进制文件下载下来有13M左右的样子。

这两个下载下来都可以来启动MQ的服务。只不过源码的比较麻烦,需要你的机器是64位的,JDK1.8,Maven3.2,git,和4G的内存

如果想通过源码自行参照官方文档:https://rocketmq.apache.org/docs/quick-start/

我就不贴到这里了。

 

二进制文件就是已经打好包,然后一些服务器脚本命令来执行就OK了。对于二进制下载下来的ZIP包解压之后还是有比较了解下里面的目录,这样对以后的MQ调优上有一定的帮助的。这就是解压缩好的一个目录

 

安装部署

RocketMQ安部署很简单,开箱即用,你所需要关注的就是那些配置文件。

就是下载好之后,解压ZIP包,使用脚本命令启动就已经安装部署好了。

至于需要部署什么模式的就看需求选择了。

2m-2s-async

2m-2s-sync

2m-noslave

dledger

 

启动/停止服务

 

启停服务的时候要注意一下,是有一个顺序的。

先启动Name Server,在启动Broker。

先启后停,后启先停。

进入bin目录下

启动Name Server命令:nohup sh mqnamesrv &

这时候直接 tailf nohup.out就是记录的一些启动日志

在日志文件出现这么一句话:The Name Server boot success. serializeType=JSON 说明NameServer启动成功了。

启动Broker命令:nohup sh mqbroker -n localhost:9876 &

加载自定义配置文件启动命令:nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &

在日志文件出现这么一句话:The broker[localhost.localdomain, 10.10.16.20:10911] boot success. serializeType=JSON and name server is localhost:9876

说明Broker也启动成功了。

注意:有同学使用机器的内存比较小,在启动的时候会出现内存分配不足的异常问题

找到bin目录下的两个文件runserver.sh和runbroker.sh编译一下

将这段话修改下:JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

-Xms4g -Xmx4g -Xmn2g 就这三个参数调小一点也可以,这个配置是官方建议的,一般在学习的时候用不了这么大。根据自己机器情况调吧。内存单位也要改比如 -Xms512m -Xmx512m -Xmn256m

 

在看下通过命令停止服务,进入到bin目录下

停止Broker命令:sh mqshutdown broker

停止NameServer命令:sh mqshutdown namesrv

到这里一个单节点主服务就安装部署完成了。

 

MQ控制台安装部署

 

下载源码地址:https://github.com/apache/rocketmq-externals

把rocketmq-console项目源码clone到本地,需要改一些配置。

 

使用maven命令将这个项目编译打包,打成一个jar包就行。

把打好的jar包,传到服务器,直接用命令启动jar包就行了。nohup java -jar jar包名 & 也可以指定日志输出文件名

启动完之后浏览器直接访问,ip:port就ok了。

 

控制台这一块不是很复杂,就不一一介绍,况且还能切换为中文。。。


RocketMQ包模块

rocketmq-common:通用的枚举、基类方法、或者数据结构,包名有admin、consumer、filter、hook、message

rocketmq-remoting:使用netty的客户端、服务端,使用fastjson序列化,自定义二进制协议

rocketmq-srvutil:只有一个ServerUtil类,只提供Server程序依赖,尽可能减少客户端依赖

rocketmq-store:消息存储,索引,consumerLog,commitLog等

rocketmq-client:客户端,消息发送和接收,包含consumer和producer。

rocketmq-filtersrv:消息过滤器

rocketmq-broker:服务端,接受消息,存储消息,consumer拉取消息

rocketmq-tools:命令行工具

rocketmq-namesrv:类似服务注册中心,broker在这里注册,consumer和producer在这里找到broker地址


 

学而不思则罔,思而不学则殆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值