当前位置:   article > 正文

Linux下搭建RocketMQ4.5.2集群并设置开机自启_rocketmq开机自启动

rocketmq开机自启动

一、环境说明

    CentOS7;RocketMQ4.5.2;防火墙关闭;虚拟机地址:192.168.0.40,192.168.0.41,192.168.0.42,192.168.0.75;
  • 1

因为之前该虚拟机上搭建了其他的东西,因此这次就指定别名了,直接通过ip和端口访问;

二、软件说明

    RocketMQ本是阿里自己的,后来捐给阿帕奇了,截止到我写这篇博客的时候,阿帕奇公布的RocketMQ的版本是4.5.2,因此这次安装的是4.5.2的。
  • 1

下载地址:http://rocketmq.apache.org/,首页展示的最新本的版本,点击进去下载即可,若需要之前的版本,可点击Documentation–》左边Download–》选择你想要安装的版本即可安装,选择Binary版本的,可直接安装使用,不要选择Source版本的,那个是源码版本的,无法直接使用还得编译。

在这里插入图片描述
三、单机版搭建

单机版的我安装在192.168.0.75虚拟机上

1、上传安装包到75虚拟机的/root目录
在这里插入图片描述
2、解压,并重命名为rocketmq,unzip rocketmq-all-4.5.2-bin-release.zip,mv rocketmq-all-4.5.2-bin-release rocketmq
在这里插入图片描述
3、创建RocketMQ存储文件的目录,依次执行如下命令:


cd rocketmq
mkdir logs
mkdir store
cd store/
mkdir commitlog
mkdir consumequeue
mkdir index
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
文件夹说明:

logs:存储RocketMQ日志目录`在这里插入代码片`
store:存储RocketMQ数据文件目录
commitlog:存储RocketMQ消息信息
consumequeue、index:存储消息的索引数据
  • 1
  • 2
  • 3
  • 4

4、 修改配置文件,进入rocketmq的conf目录

在这里插入图片描述
conf目录配置文件说明:

2m-2s-async:22从异步
2m-2s-sync :22从同步
2m-noslave :2主没有从
  • 1
  • 2
  • 3

因为要搭建单机版的,所以只要对其中一个文件夹中的文件进行修改即可,我们修改2m-2s-async的配置实现。

4.1、进入2m-2s-async目录,修改第1个配置文件broker-a.properties,vim broker-a.propertie
在这里插入图片描述
将如下配置覆盖掉broker-a.properties所有配置:

#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,注意此处不同的配置文件填写的不一样
brokerName=broker-a
#0 表示Master, > 0 表示slave
brokerId=0
#nameServer 地址,分号分割
namesrvAddr=192.168.0.75: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=/root/rocketmq/store
#commitLog存储路径
storePathCommitLog=/root/rocketmq/store/commitlog
#消费队列存储路径
storePathConsumeQueue=/root/rocketmq/store/consumequeue
#消息索引存储路径
storePathIndex=/root/rocketmq/store/index
#checkpoint 文件存储路径
storeCheckpoint=/root/rocketmq/store/checkpoint
#abort 文件存储路径
abortFile=/root/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
#发消息线程池数量
#sendMessageTreadPoolNums=128
#拉消息线程池数量
#pullMessageTreadPoolNums=128
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60

4.2、进入conf目录,替换所有xml中的${user.home},保证日志路径正确

sed -i 's#${
   user.home}#/root/rocketmq#g' *.xml
  • 1
  • 2

注意:sed -i在这里起一个批量替换的作用,

sed -i 's#原字符串#新字符#g' 替换的文件
  • 1

5、RocketMQ对内存的要求比较高,最少1G,如果内存太少,会影响RocketMQ的运行效率和执行性能。我们需要修改bin目录下的runbroker.sh和runserver.sh文件

runbroker.sh

改前:
JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
 
改后:
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g"
  • 1
  • 2
  • 3
  • 4
  • 5

runserver.sh

改前:
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
 
改后:
JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
  • 1
  • 2
  • 3
  • 4
  • 5

6、启动RocketMQ,注意先启动namesrv再启动broker

启动namesrv,nohup sh mqnamesrv &

再启动broker,nohup sh mqbroker -c /root/rocketmq/conf/2m-2s-async/broker-a.properties > /dev/null 2>&1 &

输入jps查看进程,可看到NamesrvStartup和BrokerStartup两个进程即代表启动

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/877448
推荐阅读
相关标签
  

闽ICP备14008679号