CentOS7部署RocketMQ

文章目录


CentOS7初始化服务器开发环境——根据个人习惯而定

准备

  1. RocketMQ的zip包(本文准备的版本是rocketmq-all-4.4.0-bin-release.zip)
  2. 通过xftp上传到/opt/software下

部署流程

  1. 解压
    unzip rocketmq-all-4.4.0-bin-release.zip -d /opt/modules

  2. 默认文件夹名字太长,修改名字
    mv rocketmq-all-4.4.0-bin-release rocketmq

  3. 创建RocketMQ存储文件的目录
    cd /opt/modules/rocketmq/
    mkdir logs
    mkdir store
    cd store/
    mkdir commitlog
    mkdir consumequeue
    mkdir index
    文件夹说明:

    • logs:存储RocketMQ日志目录
    • store:存储RocketMQ数据文件目录
    • commitlog:存储RocketMQ消息信息
    • consumequeue、index:存储消息的索引数据
  4. 配置文件修改
    conf目录配置文件说明:
    在这里插入图片描述
    2m-2s-async:2主2从异步
    2m-2s-sync :2主2从同步
    2m-noslave :2主没有从

    这里我配置单节点,可以修改2m-2s-async的配置实现。进入2m-2s-async目录,修改第1个配置文件broker-a.properties
    cd 2m-2s-async/
    vim broker-a.properties

    #所属集群名字
    brokerClusterName=rocketmq-cluster
    #broker名字,注意此处不同的配置文件填写的不一样
    brokerName=broker-a
    #0 表示Master, > 0 表示slave
    brokerId=0
    #nameServer 地址,分号分割
    namesrvAddr=localhost:9876
    brokerIP1 = 服务器ip
    #在发送消息时,自动创建服务器不存在的Topic,默认创建的队列数
    defaultTopicQueueNums=4
    #是否允许Broker 自动创建Topic,建议线下开启,线上关闭
    autoCreateTopicEnable=true
    #是否允许Broker自动创建订阅组,建议线下开启,线上关闭
    autoCreateSubscriptionGroup=true
    #Broker 对外服务的监听端口
    listenPort=10911
    #删除文件时间点,默认是凌晨4点
    deleteWhen=04
    #文件保留时间,默认48小时
    fileReservedTime=48
    #commitLog每个文件的大小默认1G
    mapedFileSizeCommitLog=1073741824
    #ConsumeQueue每个文件默认存30W条,根据业务情况调整
    mapedFileSizeConsumeQueue=300000
    #destroyMapedFileIntervalForcibly=120000
    #redeleteHangedFileInterval=120000
    #检测物理文件磁盘空间
    diskMaxUsedSpaceRatio=50
    #存储路径
    storePathRootDir=/opt/modules/rocketmq/store
    #commitLog存储路径
    storePathCommitLog=/opt/modules/rocketmq/store/commitlog
    #消费队列存储路径
    storePathConsumeQueue=/opt/modules/rocketmq/store/consumequeue
    #消息索引存储路径
    storePathIndex=/opt/modules/rocketmq/store/index
    #checkpoint 文件存储路径
    storeCheckpoint=/opt/modules/rocketmq/store/checkpoint
    #abort 文件存储路径
    abortFile=/opt/modules/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
    
  5. 修改日志路径
    cd /opt/modules/rocketmq/conf/
    sed -i 's#${user.home}#/opt/modules/rocketmq#g' *.xml
    (命令说明:sed -i在这里起一个批量替换的作用,sed -i 's#原字符串#新字符#g' 替换的文件

  6. 修改默认启动内存大小
    cd /opt/modules/rocketmq/bin/

    • 修改runbroker.sh
      vim runbroker.sh
      改前:
      JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"
      
      改后:
      JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn1g"
      
    • 修改runserver.sh
      vim 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"
      
  7. 启动RocketMQ
    cd /opt/modules/rocketmq/bin/

    • 启动namesrv
      nohup sh mqnamesrv &
    • 启动broker
      nohup sh mqbroker -c /opt/modules/rocketmq/conf/2m-2s-async/broker-a.properties autoCreateTopicEnable=true > /dev/null 2>&1 &
      在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值