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. ...
随机推荐
- PHP在无限分类时注意的一些问题(不保证代码完全正确哦)
转自:PHP在无限分类时注意的一些问题(http://lxiaoke.cn) (注意:代码使用的是原生PHP,旨在提供解决思路)1 无限分类的查找(获取所有节点) 代码: /** * 无限分类查询,默 ...
- 5.Lvs+Keepalived健康检查
1. Nginx+keepalived对后端服务器心跳检查(需要自定义脚本) 原理:Keepalived并不跟nginx耦合,它俩完全不是一家人但是keepalived提供一个机制:让用户自定义一个s ...
- crontab 定时任务简单备份数据库
备份数据库/usr/local/mysql5.5/bin/mysqldump -uroot -p1234abcd wordpress >~/wordpress_20151206.sql 59 2 ...
- IDisposable 接口
提供一种用于释放非托管资源的机制. 地址:https://docs.microsoft.com/zh-cn/dotnet/api/system.idisposable?view=netframewor ...
- C++学习(9)—— 对象的初始化及清理
1. 构造函数和析构函数 对象的初始化和清理是两个非常重要的安全问题 一个对象或者变量没有初始状态,对其使用后果是未知 同样的使用完一个对象或者变量,没有及时清理,也会造成一些安全问题 C ...
- 如何将VOC XML文件转化成COCO数据格式
数据转换实在是个烦人的工作,被折磨了很久决定抽出时间整理一下,仅供参考. 在一个项目中,我需要将已有的VOC的xml标注文件转化成COCO的数据格式,为了方便理解,文章按如下顺序介绍: XML文件内容 ...
- python应用-打印各种形状图
row = int(input('请输入行数: ')) for row in range(1,row): for col in range (1,row+1): print( (col),end='' ...
- 20180516模拟赛T2——string
题解 对于一个字符串A,我们只能把其首字符取出,故如果我们想让A串与B串相等,能重复利用的部分只能是A串结尾与B串开头相等的部分.对于取出的字符,我们可以把'o'放在一个容器中,把'x'放在另一个容器 ...
- springMVC中的日期格式的转化
一.jsp页面传递到controller的日期 如果实体类中封装的日期类型为Date,而jsp页面中的传来的为string类型,这个时候后台就会报错,出现400错误,原因是前后端的数据类型不一致.要将 ...
- js 递归 汉诺塔的例子
程序调用自身的编程技巧称为递归. //汉诺塔的游戏,n为圆盘编号数量,编号,a,b,c代表的是三个柱子 var hanio=function(n,a,b,c){ if(n>0){ ...