zoukankan      html  css  js  c++  java
  • 1,rocketmq 的原理与安装教程

    参考文档

    http://blog.csdn.net/a19881029/article/details/34446629

    https://github.com/alibaba/RocketMQ

    http://sofar.blog.51cto.com/353572/1540874

    安装包和官方的配置说明:

    http://www.docin.com/p-985451416.html

    原理图

    角色说明

    nameserver: 类似zookeeper 是个服务管理中心,用来记录 broker的分布情况,当前状态等等

    broker:实际意义上的消息队列,有master,slave 两种状态

    producer:消息的生产者

    consumer:消息的消费者

    1JDK安装

    http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-x64.tar.gz

    # tar xvzf jdk-7u65-linux-x64.gz -C /usr/local

    # rm -f jdk-7u65-linux-x64.gz

    # cd /usr/local && ln -s jdk1.7.0_65 jdk

    # cd /usr/local/bin && ln -s /usr/local/jdk/bin/java

    2RocketMQ安装

    https://github.com/alibaba/RocketMQ/releases

    # tar xvzf alibaba-rocketmq-3.1.7.tar.gz -C /usr/local

    # mv alibaba-rocketmq alibaba-rocketmq-3.1.7

    # ln -s alibaba-rocketmq-3.1.7 rocketmq

    # rm alibaba-rocketmq-3.1.7.tar.gz

    # ll /usr/local

    wKiom1PuP2TDorXeAAKWNuNdZ7w687.jpg

    3、环境变量设置

    # vim /etc/profile

    export PATH=$PATH:/usr/local/bin

    export JAVA_HOME=/usr/local/jdk

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin

    export ROCKETMQ_HOME=/usr/local/rocketmq

    export PATH=$PATH::$ROCKETMQ_HOME/bin

    安装包解压后的目录结构

    2m-2s-async 两主,两从,同步复制数据的配置

    2m-2s-sync 两主,两从,异步复制数据的配置

    2m-noslave 两主,无从的配置

    启动nameserver, 默认端口9876

    [hadoop@hadoop bin]$ nohup sh mqnamesrv &
    [1] 17676
    [hadoop@hadoop bin]$ nohup: appending output to “nohup.out”
    
    [hadoop@hadoop bin]$ cat nohup.out 
    The Name Server boot success.
    [hadoop@hadoop bin]$ jps
    17682 NamesrvStartup
    17800 Jps

    启动 master 默认端口号是 10911[hadoop@hadoop bin]$ nohup sh mqbroker -n "192.168.58.163:9876" -c ../conf/2m-2s-async/broker-a.properties &

    [hadoop@hadoop bin]$ nohup sh mqbroker -n "192.168.58.163:9876" -c ../conf/2m-2s-async/broker-a.properties &
    [2] 25493
    [hadoop@hadoop bin]$ nohup: appending output to “nohup.out”
    
    [hadoop@hadoop bin]$ cat nohup.out 
    load config properties file OK, ../conf/2m-2s-async/broker-a.properties
    The broker[broker-a, 192.168.58.163:10911] boot success. and name server is 192.168.58.163:9876
    [hadoop@hadoop bin]$ jps
    25500 BrokerStartup
    25545 Jps
    17682 NamesrvStartup

    配置说明
     

    brokerClusterName=AdpMqCluster      // broker归属的集群名

    brokerName=broker-a                // broker的名字

    brokerId=0                // 0 代表master >0 表示slave, 一个master 可以挂多个slave, master 和 slave 通过 brokerName 来配对

    namesrvAddr=mqnameserver1:9876;192.168.1.252:9876  //nameserver 对应的IP和端口号

    defaultTopicQueueNums=4               //

    autoCreateTopicEnable=true            //是否允许broker自动创建Topic

    autoCreateSubscriptionGroup=true      //是否允许broker自动创建订阅组

    listenPort=10911  //监听的端口号

    deleteWhen=04         //删除文件时间点,默认凌晨4点

    fileReservedTime=120   //文件保留时间,单位小时

    mapedFileSizeCommitLog=1073741824

    mapedFileSizeConsumeQueue=50000000

    destroyMapedFileIntervalForcibly=120000

    redeleteHangedFileInterval=120000

    diskMaxUsedSpaceRatio=88

    storePathRootDir=/data/rocketmq/store

    storePathCommitLog=/data/rocketmq/store/commitlog //commitlog 的存储路径

    storePathIndex=/data/rocketmq/store/indexlog  //消息索引的存储路径

    abortFile=/data/rocketmq/store/abortlog        //abort文件的储存路径

    maxMessageSize=65536                     

    flushCommitLogLeastPages=4

    flushConsumeQueueLeastPages=2

    flushCommitLogThoroughInterval=10000

    flushConsumeQueueThoroughInterval=60000

    brokerRole=ASYNC_MASTER                 //broker的角色, Master, SLAVE, ASYNC_MASTER, SYNC_MASTER

    flushDiskType=ASYNC_FLUSH               //数据写盘方式,异步写盘, SYNC_FLUSH :同步写盘

    checkTransactionMessageEnable=false

    sendMessageThreadPoolNums=128          

    pullMessageThreadPoolNums=128

     
  • 相关阅读:
    [转]C++中const、volatile、mutable的用法
    [转]pugixml使用教程
    [转]xml解析工具的效率比较QDomDocument、TinyXml-2、RapidXml、PugiXml
    [原][spark]帧序列的纹理UV索引,修改spark源码,改变纹理索引方式,支持常规帧序列
    [原][unreal][UE][spark]分析unreal engine 虚幻引擎的粒子编辑器:Cascade
    [转][C++]佛祖保佑,永无bug。C++ BUG解决方案
    [转]VS中的路径宏 OutDir、ProjectDir、SolutionDir各种路径含义
    [转]jsbsim基础概念
    [原][粒子特效][spark]调节器modifier
    项目管理(八)- 控制项目的范围
  • 原文地址:https://www.cnblogs.com/zyguo/p/4959530.html
Copyright © 2011-2022 走看看