• RocketMQ环境搭建


    1 源码下载

    wget http://mirror.bit.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip
    unzip rocketmq-all-4.2.0-bin-release.zip

    2 启动namesrv

    cd /Users/rocketmq/bin
    nohup sh mqnamesrv&

    结果出错:

    cat nohup.out
    OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
    java.net.BindException: Address already in use
    	at sun.nio.ch.Net.bind0(Native Method)
    	at sun.nio.ch.Net.bind(Net.java:433)
    	at sun.nio.ch.Net.bind(Net.java:425)
    	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
    	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:127)
    	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:501)
    	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1218)
    	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:506)
    	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:491)
    	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:965)
    	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:210)
    	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:353)
    	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:408)
    	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:455)
    	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140)
    	at java.lang.Thread.run(Thread.java:852)
    ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
    ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
    ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
    ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
    

     修改runserver.sh 和 runbroker.sh 文件,将 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/user/java 改为 [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java

    再执行命令,显示

    The Name Server boot success. serializeType=JSON
    

      说明namesrv成功了

    3 启动broker

    nohup sh mqbroker -n 11.162.141.67:9876&
    

    看nohup.out报错

    /Users/rocketmq/bin/runbroker.sh: line 62: 204749 Killed                  $JAVA ${JAVA_OPT} $@  

    说明脚本执行有问题,比较脚本runbroker.sh和runserver.sh,发现这两个文件的配置有不一样

    #===========================================================================================
    # JVM Configuration
    #===========================================================================================
    JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8  -XX:-UseParNewGC"
    JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:/dev/shm/rmq_srv_gc.log -XX:+PrintGCDetails"
    JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
    JAVA_OPT="${JAVA_OPT}  -XX:-UseLargePages"
    JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:${BASE_DIR}/lib"
    #JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
    JAVA_OPT="${JAVA_OPT} ${JAVA_OPT_EXT}"
    JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"

    但是runserver.sh脚本能执行成功,于是将runserver.sh的配置替换runbroker.sh,再执行命令,成功了。

    netstat -ano | grep "11.162.141.67:9876"
    tcp        0      0 11.162.141.67:50772         11.162.141.67:9876          ESTABLISHED off (0.00/0/0)
    tcp        0      0 11.162.141.67:9876          11.162.141.67:50772         ESTABLISHED off (0.00/0/0)

    目前都是在一台机器上,既作为namesrv又作为broker。

    4 消息生产

    package org.apache.rocketmq.client.producer;
    
    import java.io.UnsupportedEncodingException;
    import java.util.List;
    
    import org.apache.rocketmq.client.exception.MQBrokerException;
    import org.apache.rocketmq.client.exception.MQClientException;
    import org.apache.rocketmq.common.MixAll;
    import org.apache.rocketmq.common.message.Message;
    import org.apache.rocketmq.common.message.MessageQueue;
    import org.apache.rocketmq.remoting.common.RemotingHelper;
    import org.apache.rocketmq.remoting.exception.RemotingException;
    
    /**
     * Created by test on 17/6/14.
     */
    public class Producer {
        public static void main(String[] args) throws UnsupportedEncodingException {
            try {
                System.setProperty(MixAll.NAMESRV_ADDR_PROPERTY, "11.162.141.67:9876");
                MQProducer producer = new DefaultMQProducer("rocketmq-study");
    
                producer.start();
    
                String[] tags = new String[]{"TagA", "TagB", "TagC", "TagD", "TagE"};
    
                for (int i = 0; i < 100; i++) {
    
                    int orderId = i % 10;
                    Message msg =
                        new Message("TopicTestjjj", tags[i % tags.length], "KEY" + i,
                            ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET));
    
                    SendResult sendResult = producer.send(msg, new MessageQueueSelector() {
                        @Override
                        public MessageQueue select(List<MessageQueue> mqs, Message msg, Object arg) {
                            Integer id = (Integer) arg;
                            int index = id % mqs.size();
                            return mqs.get(index);
                        }
                    }, orderId);
    
                    System.out.println(sendResult);
                }
    
                producer.shutdown();
            } catch (MQClientException e) {
                e.printStackTrace();
            } catch (RemotingException e) {
                e.printStackTrace();
            } catch (MQBrokerException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    执行结果:

    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5200000, offsetMsgId=0BA28D4300002A9F00000000000005F8, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=2]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5640001, offsetMsgId=0BA28D4300002A9F00000000000006B7, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=2]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5720002, offsetMsgId=0BA28D4300002A9F0000000000000776, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=2]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5800003, offsetMsgId=0BA28D4300002A9F0000000000000835, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=2]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F58E0004, offsetMsgId=0BA28D4300002A9F00000000000008F4, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=3]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F59D0005, offsetMsgId=0BA28D4300002A9F00000000000009B3, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=3]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5AB0006, offsetMsgId=0BA28D4300002A9F0000000000000A72, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=3]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5B90007, offsetMsgId=0BA28D4300002A9F0000000000000B31, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=3]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5C90008, offsetMsgId=0BA28D4300002A9F0000000000000BF0, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=4]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5DA0009, offsetMsgId=0BA28D4300002A9F0000000000000CAF, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=4]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5E8000A, offsetMsgId=0BA28D4300002A9F0000000000000D6E, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=5]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F5F7000B, offsetMsgId=0BA28D4300002A9F0000000000000E2F, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=5]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F606000C, offsetMsgId=0BA28D4300002A9F0000000000000EF0, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=4]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F614000D, offsetMsgId=0BA28D4300002A9F0000000000000FB1, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=4]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F627000E, offsetMsgId=0BA28D4300002A9F0000000000001072, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=6]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F635000F, offsetMsgId=0BA28D4300002A9F0000000000001133, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=6]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6460010, offsetMsgId=0BA28D4300002A9F00000000000011F4, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=5]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6570011, offsetMsgId=0BA28D4300002A9F00000000000012B5, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=5]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6680012, offsetMsgId=0BA28D4300002A9F0000000000001376, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=7]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6770013, offsetMsgId=0BA28D4300002A9F0000000000001437, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=7]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6860014, offsetMsgId=0BA28D4300002A9F00000000000014F8, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=8]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6940015, offsetMsgId=0BA28D4300002A9F00000000000015B9, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=8]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6A20016, offsetMsgId=0BA28D4300002A9F000000000000167A, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=6]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6B20017, offsetMsgId=0BA28D4300002A9F000000000000173B, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=6]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6BF0018, offsetMsgId=0BA28D4300002A9F00000000000017FC, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=9]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6CD0019, offsetMsgId=0BA28D4300002A9F00000000000018BD, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=9]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6DB001A, offsetMsgId=0BA28D4300002A9F000000000000197E, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=7]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6E9001B, offsetMsgId=0BA28D4300002A9F0000000000001A3F, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=7]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F6F7001C, offsetMsgId=0BA28D4300002A9F0000000000001B00, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=10]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F705001D, offsetMsgId=0BA28D4300002A9F0000000000001BC1, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=10]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F713001E, offsetMsgId=0BA28D4300002A9F0000000000001C82, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=11]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F722001F, offsetMsgId=0BA28D4300002A9F0000000000001D43, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=11]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7310020, offsetMsgId=0BA28D4300002A9F0000000000001E04, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=8]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F73F0021, offsetMsgId=0BA28D4300002A9F0000000000001EC5, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=8]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F74E0022, offsetMsgId=0BA28D4300002A9F0000000000001F86, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=12]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F75B0023, offsetMsgId=0BA28D4300002A9F0000000000002047, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=12]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7690024, offsetMsgId=0BA28D4300002A9F0000000000002108, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=9]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7770025, offsetMsgId=0BA28D4300002A9F00000000000021C9, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=9]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7850026, offsetMsgId=0BA28D4300002A9F000000000000228A, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=13]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7940027, offsetMsgId=0BA28D4300002A9F000000000000234B, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=13]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7A20028, offsetMsgId=0BA28D4300002A9F000000000000240C, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=14]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7B00029, offsetMsgId=0BA28D4300002A9F00000000000024CD, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=14]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7BD002A, offsetMsgId=0BA28D4300002A9F000000000000258E, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=10]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7CD002B, offsetMsgId=0BA28D4300002A9F000000000000264F, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=10]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7DB002C, offsetMsgId=0BA28D4300002A9F0000000000002710, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=15]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7E9002D, offsetMsgId=0BA28D4300002A9F00000000000027D1, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=15]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F7F7002E, offsetMsgId=0BA28D4300002A9F0000000000002892, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=11]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F806002F, offsetMsgId=0BA28D4300002A9F0000000000002953, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=11]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8140030, offsetMsgId=0BA28D4300002A9F0000000000002A14, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=16]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8230031, offsetMsgId=0BA28D4300002A9F0000000000002AD5, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=16]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8390032, offsetMsgId=0BA28D4300002A9F0000000000002B96, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=17]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8480033, offsetMsgId=0BA28D4300002A9F0000000000002C57, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=17]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8560034, offsetMsgId=0BA28D4300002A9F0000000000002D18, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=12]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8640035, offsetMsgId=0BA28D4300002A9F0000000000002DD9, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=12]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8720036, offsetMsgId=0BA28D4300002A9F0000000000002E9A, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=18]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F87F0037, offsetMsgId=0BA28D4300002A9F0000000000002F5B, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=18]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F88C0038, offsetMsgId=0BA28D4300002A9F000000000000301C, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=13]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F89C0039, offsetMsgId=0BA28D4300002A9F00000000000030DD, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=13]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8A9003A, offsetMsgId=0BA28D4300002A9F000000000000319E, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=19]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8B7003B, offsetMsgId=0BA28D4300002A9F000000000000325F, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=19]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8C5003C, offsetMsgId=0BA28D4300002A9F0000000000003320, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=20]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8D2003D, offsetMsgId=0BA28D4300002A9F00000000000033E1, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=20]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8DF003E, offsetMsgId=0BA28D4300002A9F00000000000034A2, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=14]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8EE003F, offsetMsgId=0BA28D4300002A9F0000000000003563, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=14]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F8FB0040, offsetMsgId=0BA28D4300002A9F0000000000003624, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=21]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9090041, offsetMsgId=0BA28D4300002A9F00000000000036E5, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=21]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9180042, offsetMsgId=0BA28D4300002A9F00000000000037A6, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=15]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9260043, offsetMsgId=0BA28D4300002A9F0000000000003867, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=15]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9340044, offsetMsgId=0BA28D4300002A9F0000000000003928, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=22]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9420045, offsetMsgId=0BA28D4300002A9F00000000000039E9, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=22]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F94F0046, offsetMsgId=0BA28D4300002A9F0000000000003AAA, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=23]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F95D0047, offsetMsgId=0BA28D4300002A9F0000000000003B6B, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=23]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F96A0048, offsetMsgId=0BA28D4300002A9F0000000000003C2C, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=16]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9770049, offsetMsgId=0BA28D4300002A9F0000000000003CED, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=16]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F985004A, offsetMsgId=0BA28D4300002A9F0000000000003DAE, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=24]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F993004B, offsetMsgId=0BA28D4300002A9F0000000000003E6F, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=24]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9A1004C, offsetMsgId=0BA28D4300002A9F0000000000003F30, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=17]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9AF004D, offsetMsgId=0BA28D4300002A9F0000000000003FF1, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=17]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9BC004E, offsetMsgId=0BA28D4300002A9F00000000000040B2, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=25]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9CB004F, offsetMsgId=0BA28D4300002A9F0000000000004173, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=25]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9D80050, offsetMsgId=0BA28D4300002A9F0000000000004234, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=26]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9E60051, offsetMsgId=0BA28D4300002A9F00000000000042F5, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=26]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70F9F50052, offsetMsgId=0BA28D4300002A9F00000000000043B6, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=18]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA050053, offsetMsgId=0BA28D4300002A9F0000000000004477, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=18]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA130054, offsetMsgId=0BA28D4300002A9F0000000000004538, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=27]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA200055, offsetMsgId=0BA28D4300002A9F00000000000045F9, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=27]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA2E0056, offsetMsgId=0BA28D4300002A9F00000000000046BA, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=19]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA3B0057, offsetMsgId=0BA28D4300002A9F000000000000477B, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=19]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA480058, offsetMsgId=0BA28D4300002A9F000000000000483C, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=28]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA570059, offsetMsgId=0BA28D4300002A9F00000000000048FD, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=28]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA65005A, offsetMsgId=0BA28D4300002A9F00000000000049BE, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=29]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA77005B, offsetMsgId=0BA28D4300002A9F0000000000004A7F, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=29]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FA8D005C, offsetMsgId=0BA28D4300002A9F0000000000004B40, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=20]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FAAA005D, offsetMsgId=0BA28D4300002A9F0000000000004C01, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=20]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FABE005E, offsetMsgId=0BA28D4300002A9F0000000000004CC2, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=30]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FACD005F, offsetMsgId=0BA28D4300002A9F0000000000004D83, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=30]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FAE00060, offsetMsgId=0BA28D4300002A9F0000000000004E44, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=2], queueOffset=21]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FAF20061, offsetMsgId=0BA28D4300002A9F0000000000004F05, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=3], queueOffset=21]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FB010062, offsetMsgId=0BA28D4300002A9F0000000000004FC6, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=0], queueOffset=31]
    SendResult [sendStatus=SEND_OK, msgId=1E065BDA6AEB3764951D2E70FB140063, offsetMsgId=0BA28D4300002A9F0000000000005087, messageQueue=MessageQueue [topic=TopicTestjjj, brokerName=taobaodaily011162141067.et15sqa, queueId=1], queueOffset=31]

    ConsumeQueue的存储位置
    默认的存储位置:${user.home} storeconsumequeue${topicName}${queueId}${fileName}
    可以修改:配置文件的
    storePathRootDir=/home/haieradmin/mqstore/rocketmqstore
    storePathCommitLog=/home/haieradmin/mqstore/rocketmqstore/commitlog
    这两个参数。

    登录机器,看/home/users/store目录

    abort  checkpoint  commitlog  config  consumequeue  index  lock  nohup.out

    目录树

    ├── commitlog
    │   └── 00000000000000000000
    │   └── 00000000001073741824
    ├── consumequeue
    │   ├── TopicTestjjj
    │   │   ├── 0
    │   │   │   └── 00000000000000000000
    │   │   ├── 1
    │   │   │   └── 00000000000000000000
    │   │   ├── 2
    │   │   │   └── 00000000000000000000
    │   │   └── 3
    │   │       └── 00000000000000000000
     
    

    可以看到commitLog下面刚好两个1G的文件,分别以偏移量作为文件名。

    看一下文件内容:

    $strings 00000000000000000000
    Hello RocketMQ 0
    TopicTestjjj
    HKEYS
    KEY0
    UNIQ_KEY
    1E065BDA6AB118B4AAC22BAB0AEA0000
    WAIT
    true
    TAGS
    TagA
    Hello RocketMQ 1
    TopicTestjjj
    HKEYS
    KEY1
    UNIQ_KEY
    1E065BDA6AB118B4AAC22BAB2F800001
    WAIT
    true
    TAGS
    TagB
    Hello RocketMQ 2
    TopicTestjjj
    HKEYS
    KEY2
    UNIQ_KEY
    1E065BDA6AB118B4AAC22BAB2F8E0002
    WAIT
    true
    TAGS
    TagC
    Hello RocketMQ 3
    TopicTestjjj
    HKEYS
    KEY3
    UNIQ_KEY

    顺便说一下,消息队列文件名规则:
    文件默认存储大小1G。
    文件名以已有存储容量依次递增,类似如下:

    00000000000000000000
    00000000001073741824
    00000000002147483648
    。。。

    这是个二进制文件,打开看一下。

    $od -Ax -tx1 00000000000000000000
    000000 00 00 00 00 00 00 00 00 00 00 00 bf 00 00 00 00
    000010 00 27 a8 07 00 00 00 00 00 00 02 fc 00 00 00 bf
    000020 00 00 00 00 00 27 a8 0b 00 00 00 00 00 00 05 f8
    000030 00 00 00 bf 00 00 00 00 00 27 a8 07 00 00 00 00
    000040 00 00 08 f4 00 00 00 bf 00 00 00 00 00 27 a8 0b
    000050 00 00 00 00 00 00 0b f0 00 00 00 bf 00 00 00 00
    000060 00 27 a8 0a 00 00 00 00 00 00 0d 6e 00 00 00 c1
    000070 00 00 00 00 00 27 a8 07 00 00 00 00 00 00 10 72
    000080 00 00 00 c1 00 00 00 00 00 27 a8 0b 00 00 00 00
    000090 00 00 13 76 00 00 00 c1 00 00 00 00 00 27 a8 0a
    0000a0 00 00 00 00 00 00 14 f8 00 00 00 c1 00 00 00 00
    0000b0 00 27 a8 07 00 00 00 00 00 00 17 fc 00 00 00 c1
    0000c0 00 00 00 00 00 27 a8 0b 00 00 00 00 00 00 1b 00
    0000d0 00 00 00 c1 00 00 00 00 00 27 a8 0a 00 00 00 00
    0000e0 00 00 1c 82 00 00 00 c1 00 00 00 00 00 27 a8 07
    0000f0 00 00 00 00 00 00 1f 86 00 00 00 c1 00 00 00 00
    000100 00 27 a8 0b 00 00 00 00 00 00 22 8a 00 00 00 c1
    000110 00 00 00 00 00 27 a8 0a 00 00 00 00 00 00 24 0c
    000120 00 00 00 c1 00 00 00 00 00 27 a8 07 00 00 00 00
    000130 00 00 27 10 00 00 00 c1 00 00 00 00 00 27 a8 0b
    000140 00 00 00 00 00 00 2a 14 00 00 00 c1 00 00 00 00
    000150 00 27 a8 0a 00 00 00 00 00 00 2b 96 00 00 00 c1
    000160 00 00 00 00 00 27 a8 07 00 00 00 00 00 00 2e 9a
    000170 00 00 00 c1 00 00 00 00 00 27 a8 0b 00 00 00 00
    000180 00 00 31 9e 00 00 00 c1 00 00 00 00 00 27 a8 0a
    000190 00 00 00 00 00 00 33 20 00 00 00 c1 00 00 00 00
    0001a0 00 27 a8 07 00 00 00 00 00 00 36 24 00 00 00 c1
    0001b0 00 00 00 00 00 27 a8 0b 00 00 00 00 00 00 39 28
    0001c0 00 00 00 c1 00 00 00 00 00 27 a8 0a 00 00 00 00
    0001d0 00 00 3a aa 00 00 00 c1 00 00 00 00 00 27 a8 07
    0001e0 00 00 00 00 00 00 3d ae 00 00 00 c1 00 00 00 00
    0001f0 00 27 a8 0b 00 00 00 00 00 00 40 b2 00 00 00 c1
    000200 00 00 00 00 00 27 a8 0a 00 00 00 00 00 00 42 34
    000210 00 00 00 c1 00 00 00 00 00 27 a8 07 00 00 00 00
    000220 00 00 45 38 00 00 00 c1 00 00 00 00 00 27 a8 0b
    000230 00 00 00 00 00 00 48 3c 00 00 00 c1 00 00 00 00
    000240 00 27 a8 0a 00 00 00 00 00 00 49 be 00 00 00 c1
    000250 00 00 00 00 00 27 a8 07 00 00 00 00 00 00 4c c2
    000260 00 00 00 c1 00 00 00 00 00 27 a8 0b 00 00 00 00
    000270 00 00 4f c6 00 00 00 c1 00 00 00 00 00 27 a8 0a
    000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    5b8d80

    ConsumeQueue中每个消息时20Byte长。结构为

    clipboard.png
    所以,上面00 00 00 bf 表示size。

      

    困,明天继续。

  • 相关阅读:
    SpringBoot学习:整合shiro(验证码功能和登录次数限制功能)
    SpringBoot学习:整合shiro(rememberMe记住我功能)
    SpringBoot学习:整合shiro(身份认证和权限认证),使用EhCache缓存
    SpringBoot学习:整合Redis
    SpringBoot学习:获取yml和properties配置文件的内容
    SpringBoot学习:使用spring-boot-devtools进行热部署
    SpringBoot学习:添加JSP支持
    SpringBoot学习:整合MyBatis,使用Druid连接池
    DL杂谈
    YOLO3训练widerface数据集
  • 原文地址:https://www.cnblogs.com/wuchanming/p/9013365.html
Copyright © 2020-2023  润新知