参考https://github.com/alibaba/RocketMQ/wiki/Quick-Start
screen bash mqnamesrv
,ctrl+a D退出
screen bash mqbroker -n localhost:9876
ctrl+a D退出
tail -f ~/logs/rocketmqlogs/broker.log
好了,已经启动主要功能 name服务和broker。下面就开始收发测试了。
这里只是按照单节点配置并测试的,如果想用双机配置或者分布式配置,需要参考其他文档。
export NAMESRV_ADDR=localhost:9876
bash tools.sh com.alibaba.rocketmq.example.quickstart.Producer
注意:因为之前没有把 NAMESRV_ADDR写到环境变量,所以这个需要在会话中设置下,方便同机测试,如果测试在本机就无所谓了。
bash tools.sh com.alibaba.rocketmq.example.quickstart.Consumer
好了 能看到broker的消息已经接收到了 consumer可以处理。
最后关闭进程,因为用到了screen ,这个小组件的好处大家用到了就明白了。
这样,同一机器下利用RocketMQ 自带的测试类简单测试宣告完成。
抱歉隔了几天才上传。
最后和大家说一下,如果你的测试机配置一般,那建议你修改一下broker的配置,如果还有内存 不足的情况,可以减小server的配置
在bin目录下的runserver.sh和 runbroker.sh 包含启动加载参数
runbroker.sh
#===========================================================================================
主要是修改这个参数
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:+DisableExplicitGC"
JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${HOME}/tmpfs/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -XX:+AlwaysPreTouch"
JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib"
#JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"
cat runserver.sh 同理
#===========================================================================================
# JVM Configuration
#===========================================================================================
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:+DisableExplicitGC"
JAVA_OPT="${JAVA_OPT} -verbose:gc -Xloggc:${HOME}/rmq_srv_gc.log -XX:+PrintGCDetails"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JAVA_OPT="${JAVA_OPT} -Djava.ext.dirs=${BASE_DIR}/lib"
#JAVA_OPT="${JAVA_OPT} -Xdebug -Xrunjdwp:transport=dt_socket,address=9555,server=y,suspend=n"
JAVA_OPT="${JAVA_OPT} -cp ${CLASSPATH}"