• 搭建RocketMQ


     特点:Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟、高效性和可靠性,万亿级容量和灵活的可伸缩性。它由四个部分组成,nameserver,broker,生产者和消费者,他们中的每一个都可以水平扩展,而没有单个故障点。

    nameserver:提供轻量级的服务发现和路由。每个名称服务器记录完整的路由信息,提供相应的读写服务,并支持快速的存储扩展。

    Broker:通过提供轻量级的TOPIC和QUEUE机制来寸尺消息

    2、创建一个存放mq压缩包的文件夹

    /usr/local/rocketmq/rocketmq40

     解压zip文件 : unzip rocketmq-all-4.7.1-bin-release.zip

    如果提示-bash: unzip: command not found
    执行:yum install -y unzip 安装upzip命令,安装完成之后再解压
    3、创建文件夹

     进入store

    cd /usr/local/bin/rocketmq/rocketmq40/
    mkdir store mkdir logs
    cd store
    mkdir commitlog mkdir index mkdir consumequene mkdir checkponitt

     4、配置环境变量ROCKET_HOME(!!!!)

    vim /etc/profile

    在后面添加

    export ROCKETMQ_HOME=/usr/local/rocketmq/rocketmq40

    5、进入

    /usr/local/rocketmq/rocketmq40/conf/2m-2s-async

    打开broker-a.properties,替换为下面内容

    
    

    #所属集群名字
    brokerClusterName=rocketmq-cluster
    #broker名,,注意此处不同的配置文件填写的不一样
    brokerlName-broker-a
    #0表示Master, o表示
    slavebrokerId=0
    #nameServer地址,分号分割
    namesrvAddr=mqnameserver1:9876
    #在发送消息时, 自动创建服务器不存在的Topic,默认创建的队列数
    defaultTopicQueueNums=4
    #是否允许Broker 自动创建Topic,建议线下开启,线上关闭
    autoCreateTopicEnable=true
    #是否允许Broker自动创建订阅组,建议线下开启,线上关闭
    autocreatesubscriptionGroup-true
    #Broker对外服务的监听端口
    listenPort=10911
    #删除文件时间点,默认是凌晨4点
    deletewhen=04
    #文件保留时间,默认48小时
    fileReservedTime=120
    #commitLog每个文件的大小默认
    16mapedFilesizeCommitLog=1073741824
    #ConsumeQueue每个文件默认存30W条,根据业务情况调整
    #destroyMapedFileIntervalForciblv=120000 #redeleteHangedFileInterval=120000#检测
    物理文件磁盘空间
    diskMaxUsedSpaceRatio=88
    # 存储路径
    storePathRootDir = /usr/local/rocketmq/rocketmq40/store
    # commitLog存储路径
    storePathCommitLog = /usr/local/rocketmq/rocketmq40/store/commitlog
    #消费队列存储路径
    storePathConsumeOueue=/usr/local/rocketmq/rocketmq40/store/consumequeue
    # 消息索引存储路径
    storePathIndex=/usr/local/rocketmq/rocketmq40/store/indext
    # checkpoint文件存储路径
    storeCheckpoint=/usr/local/rocketmq/rocketmq40/store/checkpointt
    # abort文件存储路径
    abortFile=/usr/local/rocketmq/rocketmq40/store/abort
    #限制的消息大小
    maxMessageSize=65536
    # flushCommitLogLeastPages=4
    # flushConsumeQueueLeastPages=2
    # flushcommitLogThoroughInterval=10006
    # flushConsumeOueueThoroughInterval=60000
    # Broker的角色
    #- ASYNCMASTER异步复制Master
    #- SYNC MASTER同步双写Master
    #-SLAVE
    brokerRole=ASYNC_MASTER
    #刷盘方式
    #-ASYNC-FLUSH异步刷盘
    #-SYNC FLUSH同步刷盘
    flushDiskType=ASYNC FLUSH
    #checkTransactionMessageEnable=false#发消息线程池数量
    #sendMessageTreadPoolNums=128
    #拉消息线程池数量
    #pullMessageTreadPooINums=128
    mapedFilesizeConsumeOueue=309000



    6、进入

    /usr/local/rocketmq/rocketmq40/conf/logback_namesrv.xml 

    将里面的rockethome改成实际的地址。

    7、将内存改小,改为512m 512m 256m

    vi runserver.sh

    vi runbroker.sh 

    8、启动rocketMQ,有两个步骤,先启动mqNameserver ,再启动mqbroker,首先要切换到rocketMQ的bin目录下。

     先启动mqNameserver:
    直接启动: sh ./mqnamesrv
    后台启动: nohup sh ./mqnamesrv &

    查看日志

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

    9、 启动mqBorker

    nohup sh mqbroker -c /usr/local/rocketmq/rocketmq40/conf/2m-2s-async/broker-a.properties -n 192.168.43.219:9786  autoCreateTopicEnable=true &

    查看日志

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

    10、通过jps命令查看

  • 相关阅读:
    [编程题] 基础 [位运算基础]
    [编程题] lc [191. 位1的个数]
    [编程题] lc [69. x 的平方根]
    php 中php-fpm工作原理
    redis分布式锁
    3种Redis分布式锁的对比
    php使用数据库的并发问题(乐观锁与悲观锁)
    php观察者模式应用场景实例详解
    [Usaco2008 Jan]电话网络
    关于二分图结论的一些证明
  • 原文地址:https://www.cnblogs.com/wenwenzuiniucha/p/14619038.html
Copyright © 2020-2023  润新知