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. ...
随机推荐
- ZooKeeper基础:快速部署
本文主要介绍ZooKeeper的快速部署安装,更多信息请参考ZooKeeper 概述 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是 ...
- java.io.IOException: Premature EOF
http访问第三方系统的接口时,小概率抛出下面的异常: java.io.IOException: Premature EOF at sun.net.www.http.ChunkedInputStrea ...
- git远程上的分支到本地
先想一个自己要在本地新建的分支名称,qianjinyan git checkout -b qianjinyan origin/SELLER-2248-1018 git branch 查看分支 git ...
- 【使用DIV+CSS重写网站首页案例】CSS选择器
使用表格<table></table>对网站首页进行布局有缺陷,不能拖动版块,不灵活. DIV Div是一个html的标签,单独使用没有意义,必须结合CSS使用: 是一个块级元 ...
- HDU3605 Escape(最大流判满流 + 状压)
[题意]: 有N个人,M个星球,给N*M矩阵,(i, j)为1代表i可以到j星球,0代表不能,问是否能把所有人转移走. [思路]: N的范围为1e6,如果让每个人与星球连边一定TLE,再根据矩阵每一行 ...
- 大数据调度工具oozie详细介绍
背景 之前项目中的sqoop等离线数据迁移job都是利用shell脚本通过crontab进行定时执行,这样实现的话比较简单,但是随着多个job复杂度的提升,无论是协调工作还是任务监控都变得麻烦,我们选 ...
- oracle安装11g以及建账号等等
Oracle 11g安装步骤详解 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下地 ...
- 201671010404+陈润菊 实验十四 团队项目评审课程&学习总结
个人学习总结博客 这个作业属于哪个课程 软件工程任教教师 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11093584.html 作业学习目标 (1 ...
- live555流媒体框架介绍
LIVE555 Streaming Media This code forms a set of C++ libraries for multimedia streaming, using open ...
- VoIP基本原理
VoIP基本原理 VoIP是通过Internet等互联网络传递语音信息的,主要包括终端设备.网关.网守和网络管理等部分.网关负责提供IP网络和传统的PSTN接口. VoIP的基本原理:通过语音压缩算法 ...