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. ...
随机推荐
- Shell 编程 基础
本篇主要写一些shell脚本的基础知识,编程规范. 第一个shell脚本 [root@localhost ~]# vim first.sh #!/bin/bash # This is first Sh ...
- rest framework 之渲染器
根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件. 用户请求头: Accept:text/html,application/xhtml+xml,application/xml;q=0 ...
- [Doxygen].Docygen使用
转自:https://www.cnblogs.com/chenyang920/p/5732643.html Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,可以从一套归档源文 ...
- Win10如何设置插入鼠标后自动禁用触摸板
首先按“Windows+R”键,调出运行窗口. 然后输入“control”然后点击“确定”! 打开Win10控制面板 在“控制面板”中,选择“硬件和声音”! 选择“AUSU Amart Ges ...
- elastic-job-lite-console后台以服务形式运行
原文:https://blog.csdn.net/u012637358/article/details/84846923 方式1:命令让程序一直在后台运行 nohup ./bin/start.sh & ...
- xtrabackup 使用
创建具有完全备份所需的最小权限的数据库用户的SQL示例如下 mysql> CREATE USER 'bkpuser'@'%' IDENTIFIED BY 's3cret';mysql> G ...
- 2019年杭电多校第三场 1008题Game(HDU6610+带修改莫队+Nim博弈)
题目链接 传送门 题意 给你\(n\)堆石子,每堆有\(a_i\)堆石子,\(q\)次操作: 在\([L,R]\)内有多少个子区间使得\(Alice\)(先手)在\(Nim\)博弈中获胜: 交换\(a ...
- 浅析前端BFC布局
一.常见定位方案 二.BFC 概念 BFC 即 Block Formatting Contexts (块级格式化上下文),它属于上述定位方案的普通流. 它是一个独立的渲染区域,只有Block-leve ...
- spark调优——数据倾斜
Spark中的数据倾斜问题主要指shuffle过程中出现的数据倾斜问题,是由于不同的key对应的数据量不同导致的不同task所处理的数据量不同的问题. 例如,reduce点一共要处理100万条数据,第 ...
- 使用async/await消除callback hell
使用async/await消除callback hell 通过Future回调中再返回Future的方式虽然能避免层层嵌套,但是还是有一层回调,有没有一种方式能够让我们可以像写同步代码那样来执行异步任 ...