RocketMQ安装部署
一、简介RocketMQ
二、相关术语
三、RocketMQ集群部署模式
四、RocketMQ集群特性分析

五、安装RocketMQ
1、下载源码或二进制安装文件 http://rocketmq.apache.org/dowloading/releases/
> unzip rocketmq-all-4.4.-source-release.zip
> cd rocketmq-all-4.4./
> mvn -Prelease-all -DskipTests clean install -U
> cd distribution/target/rocketmq-4.4.0
2、启动NameServer,启动之前先根据实际资源情况,合理分配JVM大小 bin/runserver.sh 和 bin/runbroker.sh
RocketMQ的各日志文件默认存放在 ${user.home}/logs/rocketmqlogs,各数据文件默认存放在 ${user.home}/store
> nohup sh bin/mqnamesrv >/dev/null 2>&1 &
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
3、启动Broker
> nohup sh bin/mqbroker -n localhost: autoCreateTopicEnable=true >/dev/null 2>&1 &
> tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:] boot success...
4、测试发送和接受消息
在发送/接收消息之前,我们需要告诉客户名称服务器的位置。RocketMQ 提供了多种方法来实现这一点。为了简单起见,我们使用环境变量NAMESRV_ADDR
> export NAMESRV_ADDR=localhost:
> 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...
5、关闭服务(先关闭broker再关闭namesrv)
> sh bin/mqshutdown broker
The mqbroker() is running...
Send shutdown request to mqbroker() OK > sh bin/mqshutdown namesrv
The mqnamesrv() is running...
Send shutdown request to mqnamesrv() OK
六、RocketMQ监控
Apache版的RocketMQ管理界面部署工具可以从github上下载源码,地址:https://github.com/apache/rocketmq-externals 部署流程如下:
# git clone https://github.com/apache/rocketmq-externals
# cd rocketmq-externals/rocketmq-console/src/main/resources
# vim application.properties
server.port=8888 #指定开启的端口号
rocketmq.config.nameservAddr=172.16.1.1:9876,172.16.1.2:9876
rocketmq.config.dataPath=/usr/local/rocketmq-4.5.1/store #默认存放到 /tmp/rocketmq-console
rocketmq.config.loginRequired=true #开启登录权限
# vim user.properties #设置登录账号及密码
wjoyxt=wjoyxt
# vim ../../../pom.xml
<rocketmq.version>4.5.1</rocketmq.version> #根据安装版本的不同修改版本号
2、编译rocketmq-console
# cd rocketmq-externals/rocketmq-console
# mvn clean package -Dmaven.test.skip=true
3、启动rocketmq-console,其默认的访问端口是8080,多个nameserver时需要用 ; 号隔开并用引号引起来
# nohup java -jar /usr/local/rocketmq-4.5./prod-mq-console.jar --server.port=8888 --rocketmq.config.namesrvAddr='172.17.213.71:9876;172.17.213.72' >/dev/null 2>&1 &
七、常用命令
查看集群情况 ./mqadmin clusterList -n 127.0.0.1:
查看 broker 状态 ./mqadmin brokerStatus -n 127.0.0.1: -b 172.20.1.138: (注意换成你的 broker 地址)
查看 topic 列表 ./mqadmin topicList -n 127.0.0.1:
查看 topic 状态 ./mqadmin topicStatus -n 127.0.0.1: -t MyTopic (换成你想查询的 topic)
查看 topic 路由 ./mqadmin topicRoute -n 127.0.0.1: -t MyTopic
八、集群模式
1、创建store存储目录
如果不采用默认的存储路径的话,需要在配置文件中指定,并手动提前创建好
mkdir -p /usr/local/rocketmq-4.5./store/index
mkdir /usr/local/rocketmq-4.5./store/commitlog
mkdir /usr/local/rocketmq-4.5./store/consumequeue
2、根据实际情况编辑配置文件
# 所属集群名字
brokerClusterName=my-rocket-mq
# Broker 名字与IP
brokerName=broker-
brokerIP1=172.17.213.71
# 代表 Master 大于0是slave
brokerId=
# nameServer 分号分割
namesrvAddr=172.17.213.71:;172.17.213.72:
# 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=
# 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
# Broker 对外服务的监听端口
listenPort=
# 删除文件时间点,默认凌晨 4点
deleteWhen=
# 文件保留时间,默认 小时
fileReservedTime=
# CommitLog每个文件的大小默认1G
mapedFileSizeCommitLog=
# ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=
#destroyMapedFileIntervalForcibly=
#redeleteHangedFileInterval=
# 检测物理文件磁盘空间
diskMaxUsedSpaceRatio=
# store存储路径,master与slave目录要不同
storePathRootDir=/usr/local/rocketmq-4.5./store
# CommitLog 存储路径
storePathCommitLog=/usr/local/rocketmq-4.5./store/commitlog
# 消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq-4.5./store/consumequeue
# 消息索引存储路径
storePathIndex=/usr/local/rocketmq-4.5./store/index
# checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq-4.5./store/checkpoint
# abort 文件存储路径
abortFile=/usr/local/rocketmq-4.5./store/abort
# 限制的消息大小
maxMessageSize=
#flushCommitLogLeastPages=
#flushConsumeQueueLeastPages=
#flushCommitLogThoroughInterval=
#flushConsumeQueueThoroughInterval=
#checkTransactionMessageEnable=false
# 发消息线程池数量
#sendMessageThreadPoolNums=
# 拉消息线程池数量
#pullMessageThreadPoolNums=
# Broker 的角色
# - ASYNC_MASTER 异步复制Master
# - SYNC_MASTER 同步双写Master
# - SLAVE 从
brokerRole=ASYNC_MASTER
# 刷盘方式
# - ASYNC_FLUSH 异步刷盘
# - SYNC_FLUSH 同步刷盘
flushDiskType=ASYNC_FLUSH
3、双主模式的启动
nohup sh /usr/local/rocketmq-4.5./bin/mqnamesrv >/dev/null >& &
nohup sh /usr/local/rocketmq-4.5./bin/mqbroker -c /usr/local/rocketmq-4.5./conf/2m-noslave/broker-a.properties >/dev/null >& &
nohup sh /usr/local/rocketmq-4.5.1/bin/mqnamesrv >/dev/null 2>&1 &
nohup sh /usr/local/rocketmq-4.5.1/bin/mqbroker -c /usr/local/rocketmq-4.5.1/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 &
RocketMQ安装部署的更多相关文章
- rocketmq安装部署过程(4.0.0版本)
准备工作 3个虚拟机节点的构成如下 : 安装步骤 操作过程 1.安装包已经上传至其中1个节点. 2.解压缩安装包 命令:unzip rocketmq-all-4.0.0-incubating-bin- ...
- rocketMQ安装部署详细解析
近来研究了Apache开源项目rocketMQ(原为阿里项目),并在两台linux服务器上完成了部署,现在整理下,供大家参考学习. 一.简介rocketMQRocektMQ是阿里巴巴在2012年开源的 ...
- windows下RocketMQ安装部署
一.预备环境 1.系统 Windows 2. 环境 JDK1.8.Maven.Git 二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/relea ...
- linux环境上 rocketmq 安装部署
Rocketmq-简单部署 一.准备环境 1.系统:Centos7.3(无硬性要求) 2. jdk:1.8 3.maven:3.5(无硬性要求) 4.git 5.rocketmq 4.2 二.环境 ...
- RocketMQ安装部署及整合Springboot
消息中间件的功能: 通过学习ActiveMq,kafka,rabbitMq这些消息中间件,我们大致能为消息中间件的功能做一下以下定义:可以先从基本的需求开始思考 最基本的是要能支持消息的发送和接收,需 ...
- RocketMQ安装与部署说明
一.安装说明1.下载安装包,下载地址:https://github.com/alibaba/RocketMQ/releases/download/v3.1.7/alibaba-rocketmq-3.1 ...
- windows下RocketMQ的安装部署
一.预备环境 1.系统 Windows 2. 环境 JDK1.8.Maven.Git 二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/relea ...
- Kafka集群安装部署、Kafka生产者、Kafka消费者
Storm上游数据源之Kakfa 目标: 理解Storm消费的数据来源.理解JMS规范.理解Kafka核心组件.掌握Kakfa生产者API.掌握Kafka消费者API.对流式计算的生态环境有深入的了解 ...
- RocketMQ3.2.6安装部署及调用
RocketMQ3.2.6安装部署及调用 1.RocketMQ部署架构 所有IP都是127.0.0.1,其中NameServer一个,Broker一个,Producer一个,Consumer一个 2. ...
随机推荐
- 【Linux】linux之如何清理磁盘空间
相关命令: 1.查询磁盘空间占用情况df -h2.进入根目录,查询大文件与目录 cd /du -sh * | sort -n 查看上GB的目录并且排序,可以用这个命令du -h --max-depth ...
- (十三)Kubernetes Dashboard
Dashboard概述 Github地址 Dashboard是Kubernetes的Web GUI,可用于在Kubernetes集群上部署容器化应用.应用排障.管理集群本身及附加的资源等.常用于集群及 ...
- 【使用DIV+CSS重写网站首页案例】CSS浮动
CSS浮动: 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边缘为止 由于浮动框不在文件的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样. 选择器之 float属性 ...
- 软件测试生命周期(STLC)的8个阶段的详细信息
一.演化 ♦1960年代的趋势: ♦1990年代的趋势: ♦2000年代的趋势: 测试的趋势和能力正在发生变化.现在要求测试人员更加注重技术和流程.现在的测试不仅仅局限于发现错误,而且范围更广,从项目 ...
- jmeter多个接口测试
针对接口文档,进行对应接口设计,多个接口设计用例需要使用事物控制器. 1.通过登录接口提取sign值 发送一个登录请求,然后通过正则表达式提取该sign值 正则表达式的使用,我稍后会在下一个博文中详细 ...
- ARTS-week8
Algorithm 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字.如果,我们将这两个数相加起来,则会返回一个新的 ...
- scala简单的功能实现~weekone
以下是scala简单的入门题~ 1.⼀个数字如果为正数,则它的signum为1:如果是负数,怎么signum为-1:如果是0,则signum 为0.编写⼀个函数来计算这个值. object Test ...
- cmds在线重定义增加列
--输出信息采用缩排或换行格式化 EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'PRETTY', T ...
- spark-shell操作hive
本文是在集群已经搭建好的基础上来说的,还没有搭建好集群的小伙伴还请自行百度! 启动spark-shell之前要先启动hive metastore 和 hiveservice2 hive --servi ...
- Ofbiz项目学习——阶段性小结——服务返回结果
一.返回成功 1.在.DispatcherReturnDemoService类中编写服务[returnSuccess],内容如下: /** * 返回成功结果 * @param dctx * @para ...