前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RocketMQ-环境搭建(单master模式-ubuntu版)

RocketMQ-环境搭建(单master模式-ubuntu版)

作者头像
凡人飞
发布2020-09-21 10:31:55
1.5K0
发布2020-09-21 10:31:55
举报
文章被收录于专栏:指缝阳光

一、linux安装unzip软件

输入命令:

代码语言:javascript
复制
sudo apt-get install unzip

提示:如果出现

代码语言:javascript
复制
Unable to locate package

则需要先执行命令更新:

代码语言:javascript
复制
sudo apt-get update

二、添加Hosts信息

代码语言:javascript
复制
vim /etc/hosts

#内网IP
172.19.129.62 rocketmq-nameserver1
172.19.129.62 rocketmq-master1

三、上传rocketmq-all-4.4.0-bin-release.zip

  1. 将压缩包上传到目录:/home/xjf/upload-files(个人决定)
  2. 然后将压缩包解压到指定目录:
代码语言:javascript
复制
unzip rocketmq-all-4.4.0-bin-release.zip -d /opt/software
  1. cd到解压后的目录,然后创建对应的软连接(相当于快捷方式)
代码语言:javascript
复制
cd /opt/software
ln -s rocketmq-all-4.4.0-bin-release rocketmq

四、创建存储路径

代码语言:javascript
复制
mkdir /opt/software/rocketmq/store
mkdir /opt/software/rocketmq/store/commitlog
mkdir /opt/software/rocketmq/store/consumequeue
mkdir /opt/software/rocketmq/store/index

五、RocketMQ配置文件

代码语言:javascript
复制
vim /opt/software/rocketmq/conf/2m-noslave/broker-a.properties

输入以下内容:

代码语言:javascript
复制
#所属集群
brokerClusterName=rocketmq-cluster
#broker 名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#nameServer 地址,分号分割
namesrvAddr=rocketmq-nameserver1:9876
#在发送消息时,自动创建服务器不存在的 topic,默认创建的队列数
defaultTopicQueueNums=4
#是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口
listenPort=10911
#删除文件时间点,默认凌晨 4 点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=120
#commitLog 每个文件的大小默认 1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
#destroyMapedFileIntervalForcibly=120000
#redeleteHangedFileInterval=120000
#检测物理文件磁盘空间
diskMaxUsedSpaceRatio=88
#存储路径
storePathRootDir=/usr/local/rocketmq/store
#commitLog 存储路径
storePathCommitLog=/usr/local/rocketmq/store/commitlog
#消费队列存储路径存储路径
storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/usr/local/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/usr/local/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/usr/local/rocketmq/store/abort
#限制的消息大小
maxMessageSize=65536
 
#flushCommitLogLeastPages=4
#flushConsumeQueueLeastPages=2
#flushCommitLogThoroughInterval=10000
#flushConsumeQueueThoroughInterval=60000
 
#Broker 的角色
#- ASYNC_MASTER 异步复制 Master
#- SYNC_MASTER  同步双写 Master
#- SLAVE
brokerRole=ASYNC_MASTER
 
#刷盘方式
#- ASYNC_FLUSH  异步刷盘
#- SYNC_FLUSH   同步刷盘
flushDiskType=ASYNC_FLUSH
 
#checkTransactionMessageEnable=false
#发消息线程池数量
#sendMessageThreadPoolNums=128
#拉消息线程池数量
#pullMessageThreadPoolNums=128

六、修改日志配置文件

代码语言:javascript
复制
#启动日志应该会自动到这个文件夹下,我实践时却是在bin目录的$目录下(不知道原因)
mkdir -p /opt/software/rocketmq/logs

cd /opt/software/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml

七、修改脚本参数

代码语言:javascript
复制
vim /opt/software/rocketmq/bin/runbroker.sh
代码语言:javascript
复制
#==============================================================================
#   开发环境 JVM Configuration 
#============================================================================== 
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g -XX:PermSize=128m - XX:MaxPermSize=320m"
代码语言:javascript
复制
vim /opt/software/rocketmq/bin/runserver.sh
代码语言:javascript
复制
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m - XX:MaxPermSize=320m"

八、启动NameServer

代码语言:javascript
复制
cd /opt/software/rocketmq/bin
nohup sh mqnamesrv & (运行后可能会有中断提示,不用管,使用Ctrl+C关闭)

此时可以查看进程

代码语言:javascript
复制
jps

出现:1285 NamesrvStartup。则代表运行成功

九、启动BrokerServer A

代码语言:javascript
复制
cd /opt/software/rocketmq/bin
nohup sh mqbroker -c /opt/software/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &

关闭RocketMQ服务方法: 关闭namesrv服务:

代码语言:javascript
复制
sh bin/mqshutdown namesrv

关闭broker服务:

代码语言:javascript
复制
sh bin/mqshutdown broker

十、使用RocketMQ控制台

  1. 下载rocketmq console,地址:https://github.com/apache/incubator-rocketmq-externals/tree/master/rocketmq-console。
  2. 下载源码后,找到配置文件application.properties,并按照自己需求进行配置。例如:rocketmq.config.namesrvAddr=namesrv服务地址(ip1:port;ip2:port)(使用内网的IP),此处填写为:rocketmq-nameserver1:9876
  3. 将项目打成jar包,并上传到linux的目录:/home/xjf/upload-files
  4. 后台运行线jar包并打印日志:
代码语言:javascript
复制
nohup java -jar rocketmq-console-ng-1.0.1.jar >console.out &
  1. 最后可以通过ip地址访问到MQ的控制台

借鉴于:https://blog.csdn.net/weixin_33955681/article/details/91222818

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、linux安装unzip软件
  • 二、添加Hosts信息
  • 三、上传rocketmq-all-4.4.0-bin-release.zip
  • 四、创建存储路径
  • 五、RocketMQ配置文件
  • 六、修改日志配置文件
  • 七、修改脚本参数
  • 八、启动NameServer
  • 九、启动BrokerServer A
  • 十、使用RocketMQ控制台
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档