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。

  

困,明天继续。

原文地址:https://www.cnblogs.com/wuchanming/p/9013365.html