• RocketMQ环境搭建(单master)


        单master的安装比较简单,提前要安装好jdk。时刻初学rocketmq 快速先搭建一个坏境用起来。

    环境准备:

        Mac OS

        rocketmq-all-4.5.1-bin-release

        jdk_1.8.0_211

    安装步骤:

        1、解压 rocketmq-all-4.5.1-bin-release.zip/usr/local下  

    unzip rocketmq-all-4.5.1-bin-release.zip -d /usr/local/
    

        2、进入到 /usr/local/rocketmq-all-4.5.1-bin-release/bin 目录下编辑 runserver.shrunborker.sh 两个文件 调整一下namesrvbroker的启动的jvm内存参数。具体参数大小根据你的电脑配置情况而定

    vim runserver.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

    vim runroker.sh
    JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m"

        3、配置broker的一些参数

            3.1 创建几个新目录。用来存储消息文件

    mkdir -p /usr/local/rocketmq-all-4.5.1-bin-release/store/(commitlog,pathindex,pathconsumequeue)
    #注意:abort和checkpoint这两个目录不要创建。否则会报错“AllocateMappedFileService started:false”

            3.2 编辑/usr/local/rocketmq-all-4.5.1-bin-release/conf/broker.conf。主要看一下蓝色字体部分

    brokerClusterName = DefaultCluster
    brokerName = broker-a
    # 0表示master >0表示slave
    brokerId = 0
    deleteWhen = 04
    # 文件保留时间,默认48小时
    fileReservedTime = 48
    # Broker 的角色
    #- ASYNC_MASTER 异步复制Master
    #- SYNC_MASTER 同步双写Master
    #- SLAVE
    brokerRole = ASYNC_MASTER
    #刷盘方式
    # ASYNC_FLUSH 异步刷盘
    # SYNC_FLUSH 同步刷盘
    flushDiskType = ASYNC_FLUSH
    #checkTransactionMessageEnable=false
    # 发消息线程池数量
    # sendMessageThreadPoolNums=128
    # 拉消息线程池数量
    # pullMessageThreadPoolNums=128lushDiskType=ASYNC_FLUSH
    # 修改nameserver为公有ip
    namesrvAddr = localhost:9876
    # 修改broker为共有ip
    brokerIP1 = localhost
    # 发送消息时,自动创建服务器不存在的topic,默认创建的队列数
    defaultTopicQueueNums=4
    # 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
    #autoCreateTopicEnable=true
    # 是否允许Broker 自动创建订阅组,建议线下开启,线上关闭
    #autoCreateSubscriptionGroup=true
    # Broker 对外服务的监听端口
    listenPort=10911
    # 删除文件时间点,默认凌晨4点
    deleteWhen=04
    # commitLog每个文件的大小默认1G
    mapedFileSizeCommitLog=1073741824
    # ConsumeQueue每个文件默认存30w条,根据业务情况调整
    mapedFileSizeConsumeQueue=300000
    #destroyMapedFileIntervalForcibly=120000
    #redeleteHangedFileInterval=120000
    # 检测物理文件磁盘空间
    diskMaxUsedSpaceRatio=88
    # 存储路径
    storePathRootDir=/usr/local/rocketmq-all-4.5.1-bin-release/store
    # commitLog存储路径
    storePathCommitLog=/usr/local/rocketmq-all-4.5.1-bin-release/store/commitlog
    # 消费队列存储路径
    storePathConsumeQueue=/usr/local/rocketmq-all-4.5.1-bin-release/store/pathconsumequeue
    # 消息索引存储路径
    storePathIndex=/usr/local/rocketmq-all-4.5.1-bin-release/store/pathindex
    # checkpoint 文件存储
    storeCheckpoint=/usr/local/rocketmq-all-4.5.1-bin-release/store/checkpoint
    # abort 文件存储
    abortFile=/usr/local/rocketmq-all-4.5.1-bin-release/store/abort
    # 限制消息大小
    maxMessageSize=65536
    #flushCommitLogLeastPages=4
    #flushConsumeQueueLeastPages=2
    #flushCommitLogThoroughInterval=10000
    #flushConsumeQueueThoroughInterval=60000  

        4、启动rocketmq,先启动 namesrv 再启动 broker


    --后台启动namesrv
    nohup sh mqnamesrv &
    --后台启动broker
    export NAMESRV_ADDR=localhost:9876
    --如果你在brocker.conf文件中配置了namesrvAddr = localhost:9876就直接用下面的命令
    nohup sh mqbroker -c /usr/local/rocketmq-all-4.5.1-bin-release/conf/broker.conf &
    --否则用这个命令
    nohup sh mqbroker -n localhost:9876 -c /usr/local/rocketmq-all-4.5.1-bin-release/conf/broker.conf &

        5、查看进程和日志看是否启动成功

    jps -l 

     

    tail -f -n 300 ~/logs/rocketmqlogs/namesrv.log

      tail -f -n 300 ~/logs/rocketmqlogs/broker.log

        6、测试一下

    -- 先启动consumer
    export NAMESRV_ADDR=localhost:9876
    /usr/local/rocketmq-all-4.5.1-bin-release/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
    
    -- 启动producer
    export NAMESRV_ADDR=localhost:9876
    /usr/local/rocketmq-all-4.5.1-bin-release/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

    参考:

        【1】https://www.cnblogs.com/lina-2159/p/13601204.html

  • 相关阅读:
    【文本编辑】Raspberry B+上手教程--自己梳理,亲测有效
    【超级用户】Raspberry B+上手教程--自己梳理,亲测有效
    【连接网络】Raspberry B+上手教程--自己梳理,亲测有效
    【连接PC(路由)】Raspberry B+上手教程--自己梳理,亲测有效
    JavaScript的继承
    javascript的面向对象程序设计(二)
    javascript的面向对象程序设计(一)
    变量
    抽象工厂模式
    在jsp中应用MVC模型
  • 原文地址:https://www.cnblogs.com/happyflyingpig/p/14716247.html
Copyright © 2020-2023  润新知