美文网首页
1、rocketmq部署

1、rocketmq部署

作者: lsyzl | 来源:发表于2020-03-21 16:02 被阅读0次

    一、阿里云centos7.6下4.3.1版本rocketmq安装

    1、创建rocketmq的目录和解压缩mq,配置软连接。

    
    # 把mq解压缩到/usr/local下并且命名为apache-rocketmq
    
    mkdir apache-rocketmq
    cp apache-rocketmq-4.3.1.tar.gz /usr/local/apache-rocketmq
    
    tar -zxvf apache-rocketmq-4.3.1.tar.gz
    
    
    # 建立软连接
    
    ln -s apache-rocketmq rocketmq
    
    # 创建rocketmq储存相关的文件夹
    
    mkdir /usr/local/rocketmq/store
    mkdir /usr/local/rocketmq/store/commitlog
    mkdir /usr/local/rocketmq/store/consumequeue
    mkdir /usr/local/rocketmq/store/index
    
    

    2、配置broker-a.properties配置文件

    cd /usr/local/apache-rocketmq/conf
    
    mkdir 1m
    
    cp /usr/local/rocketmq/conf/2m-noslave/broker-a.properties /usr/local/rocketmq/conf/1m/
    
    vim broker-a.properties
    
    

    3、broker-a.properties配置详情

    
    #所属集群名字
    brokerClusterName=rocketmq-cluster
    #broker 名字,注意此处不同的配置文件填写的不一样
    brokerName=broker-a
    #0 表示 Master,>0 表示 Slave
    brokerId=0
    #添加公网ip
    brokerIP1=139.224.115.195
    #nameServer 地址,分号分割
    namesrvAddr=127.0.0.1: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
    #消费队列存储路径存储路径
    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
    
    

    4、修改日志配置文件

    mkdir -p /usr/local/rocketmq/logs
    
    # 全局替换{user.home}
    cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
    

    5、修改启动脚本的参数

    # 记住java home的路径
    /usr/local/java/jdk1.8.0_171
    
    
    
    # 修改broker的启动参数
    
    vim /usr/local/rocketmq/bin/runbroker.sh
    
    [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/java/jdk1.8.0_171
    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"
    
    
    # 修改nameserver的启动参数
    vim /usr/local/rocketmq/bin/runserver.sh
    
    [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/local/java/jdk1.8.0_171
    
    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    
    

    6、启动nameserve

    cd /usr/local/rocketmq/bin
    nohup sh mqnamesrv &
    
    # 如果报错如下
    qnamesrv:行46: 语法错误: 未预期的文件结尾
    mqnamesrv:行2: $'\r': 未找到命令
    mqnamesrv:行17: $'\r': 未找到命令
    mqnamesrv:行46: 语法错误: 未预期的文件结尾
    /usr/local/rocketmq/bin/runserver.sh:行2: $'\r': 未找到命令
    /usr/local/rocketmq/bin/runserver.sh:行17: $'\r': 未找到命令
    /usr/local/rocketmq/bin/runserver.sh:行21: 未预期的符号 `$'\r'' 附近有语法错误
    'usr/local/rocketmq/bin/runserver.sh:行21: `error_exit ()
    
    # 执行
    yum install dos2unix
    dos2unix mqnamesrv
    dos2unix runserver.sh
    

    7、启动broker

    
    dos2unix mqbroker
    dos2unix runbroker.sh
    
    cd /usr/local/rocketmq/bin
    nohup sh mqbroker -c /usr/local/rocketmq/conf/1m/broker-a.properties >/dev/null 2>&1 &
    

    8、注意的点

    • 需要对外开放目前和控制台,要在控制台开放9876和10909、10911端口。
    • 并且开放的ip要设置服务器可以访问自己的公网,还有就是提供的对象可以访问你的公网,如果嫌麻烦可以直接设置0.0.0.0/0

    全是自己的学习笔记记录,如果笔记有误,欢迎指正,共同学习,谢谢。

    相关文章

      网友评论

          本文标题:1、rocketmq部署

          本文链接:https://www.haomeiwen.com/subject/xpzyyhtx.html