当前位置: 首页 > 后端技术 > Java

MQRocketMQ环境详细配置

时间:2023-04-01 16:17:30 Java

@TOCApache开源官方地址:https://rocketmq.apache.org/GitHub托管地址:https://github.com/apache/roc...阿里官方介绍文档:http://jm.taobao.org/2017/01/...Apache官方“快速入门”文档:https://rocketmq.apache.org/d...MQ笔记MQ主流MQkafaka+RocketMQ+RabbitMQ对比:https://blog.csdn.net/weixin_...MQRocketMQ常见错误:https://blog.csdn.net/weixin_...MQRocketMQ术语:https://blog.csdn.net/weixin_...MQRocketMQ环境详细配置:https://blog.csdn.net/weixin_...兼容Windows版本下载官方下载地址Linuxwget命令行直接下载wgethttps://mirror.bit.edu。cn/apache/rocketmq/4.7.1/rocketmq-all-4.7.1-source-release.zip选择你需要的版本指定目录,然后进行环境配置和新建添加系统变量到PATH启动必备条件:安装JDK1.8+和maven配置下面两条命令行会自动设置MQ详细环境变量启动mqnameservcmd命令行-进入RocketMQbin目录-执行:启动mqnamesrv。如果cmd成功,会弹出如下提示框。不要关闭警告。没关系,只是提示JDK版本而已。主要错误:无法找到或加载主类文件。修改所在文件夹。一般JAVA安装在ProgramFiles(x86)目录下。这有空格。需要移动到其他目录启动mqbroker,topic自动创建在RocketMQbin目录下。执行:启动mqbroker.cmd-n127.0.0.1:9876autoCreateTopicEnable=true,启动BROKER成功后会弹出提示框,不要关闭错误:找不到或加载主类xxxxxx。找到并打开bin下的runbroker.cmd,改成设置“JAVA_OPT=%JAVA_OPT%-cp%CLASSPATH%”关闭并进入bin目录,先在cmd中输入:mqshutdown.cmdbroker,然后输入mqshutdown.cmdnamesrv可视化插件下载解压【下载路径】https://gitcode.net/mirrors/a...【码云】https://gitee.com/mirrors/Roc...百度链接:https://pan.baidu.com/s/1sMO6W-562IFJF1uUBQFXYg提取码:fuzy解压到MQ同级目录,配置rocketmq-externals\rocketmq-console\src\main\resources\application.propertiesserver.port:可视化的端口插件rocketmq.config.namesrvAddr=127.0.0.1:9876:Rocketmq的默认链接信息编译cmd——进入rocketmq-externals\rocketmq-console目录——执行mvncleanpackage-Dmaven.test.skip=true运行后和编译成功,进入编译好的目标文件夹,执行java-jarrocketmq-console-ng-1.0.1.jar启动程序测试启动成功后,在浏览器输入地址http://127.0.0.1:9999访问控制台只需使用publicclassRocketMQDemo{staticfinalStringMQ_NAMESRVADDR="127.0.0.1:9876";publicstaticvoidmain(String[]args){//组名StringgroupName="myGroup-1";//主题名称StringtopicName="myTopic-1";//标签名称StringtagName="myTag-1";newThread(()->{try{producer(groupName,topicName,tagName);}catch(InterruptedExceptione){e.printStackTrace();}catch(RemotingExceptione){e.printStackTrace();}catch(MQClientExceptione){e.printStackTrace();}catch(MQBrokerExceptione){e.printStackTrace();}}).start();newThread(()->{try{consumer(groupName,topicName,tagName);}catch(MQClientExceptione){e.printStackTrace();}}).start();}/***@Description生产者*@Authorwanglei*@Param[groupName分组名,topicName主题名,tagName标签名]**/publicstaticvoidproducer(StringgroupName,StringtopicName,StringtagName)throwsInterruptedException,RemotingException,MQClientException,MQBrokerException{DefaultMQProducer生产者=newDefaultMQProducer(groupName);producer.setNamesrvAddr(MQ_NAMESRVADDR);生产者.start();Stringbody="你好,世界!";Messagemessage=newMessage(topicName,tagName,body.getBytes());生产者。发送(消息);生产者.shutdown();}/***@Description消费者*@Authorwanglei*@Param[groupName分组名,topicName主题名,tagName标签名]**/publicstaticvoidconsumer(StringgroupName,StringtopicName,StringtagName)throwsMQClientException{DefaultMQPushConsumerconsumer=newDefaultMQPushConsumer(groupName);consumer.setNamesrvAddr(MQ_NAMESRVADDR);consumer.subscribe(topicName,tagName);consumer.registerMessageListener((MessageListenerConcurrently)(msgs,context)->{for(MessageExtmsg:msgs){System.out.println(newString(msg.getBody()));}returnConsumeConcurrentlyStatus.CONSUME_SUCCESS;});消费者开始();}}最后显示结果Hello,World!控制台主题手动创建主题:192.168.1.108:10911是启动mqbroker时获取的,-b是单机,-c是集群mqadmin.cmdupdateTopic-b192.168.1.108:10911-nlocalhost:9876-tmyTLinux下载官方下载地址wget命令行直接下载wgethttps://mirror.bit.edu.cn/apache/rocketmq/4.7.1/rocketmq-all-4.7.1-source-release.zip选择你需要的版本来源:source代码二进制:安装编译文件,解压,安装解压到指定目录,然后官方推荐的解压命令:unziprocketmq-all-4.7.1-source-release.zip(当然你也应该可以使用其他的解压命令,比如tar等,还是和官方一致的,没有安装unzip命令包时是不能用的,这种情况下要先安装unzip命令包)yumlistunzip:查看解压包的安装状态yuminstallunzip.x86_64:如果没有安装,使用命令安装unziprmrocketmq-all-4.7.1-source-release.zip#解压后删除即可原压缩包mvrocketmq-all-4.7.1-source-release/rocketmq-4.7.1#重命名解压目录,使用Maven编译整个工程。官方推荐的命令:mvn-Prelease-all-DskipTestscleaninstall-U(进入解压目录执行此命令)然后会从Maven中央仓库下载项目依赖的jar包进行编译部署安装,这可能需要一点时间项目部署完成后,可以进入cddistribution/target/rocketmq-4.7.1/rocketmq-4.7.1目录查看。这个release目录就是以后要用到的目录。脚本、配置文件等都在里面配置和启动必要条件:已安装JDK1.8+和maven,并设置相关环境变量。进入RocketMQ的distribution/target/apache-rocketmq目录,先启动namesrv,然后启动broker#启动命令,常驻内存,nohup属于后台启动,目前目录下生成nohup.out日志文件,并且也可以指定日志输出位置。#启动namesrv#shbin/mqnamesrv:属于终端启动,直接输出日志信息,ctrl+c关闭直接退出$nohupshbin/mqnamesrv#查看启动日志,如果可以看到“TheNameServerbootsuccess”字样Success$tail-f~/logs/rocketmqlogs/namesrv.log#看到“TheNameServerbootsuccess.serializeType=JSON”表示启动成功#Startbrokenohupshbin/mqbroker-nlocalhost:9876&shbin/mqbroker-nlocalhost:9876:属于终端启动,直接输出日志信息,按ctrl+c关闭退出tail-f~/logs/rocketmqlogs/broker.log#见《Thebroker[%s,172.30.30.233:10911]bootsuccess...”,表示启动成功关闭--closebrokershbin/mqshutdownbrokerThemqbroker(36695)isrunning...Sendshutdownrequesttomqbroker(36695)OK--closenamesrvshbin/mqshutdownnamesrvThemqnamesrv(36664)isrunning...Sendshutdownrequesttomqnamesrv(36664)OK除了上面的启动和关闭命令外,常用的命令行还有以下比较常用的命令,请以实际为准IP——查看集群情况。/bin//mqadminclusterList-n127.0.0.1:9876--查看broker状态。/bin/mqadminbrokerStatus-n127.0.0.1:9876-b172.20.1.138:10911--查看topic列表./bin/mqadmintopicList-n127.0.0.1:9876--检查主题状态./b在/mqadmintopicStatus-n127.0.0.1:9876-tMyTopic(改成你要查询的主题)--查看主题路由./bin/mqadmintopicRoute-n127.0.0.1:9876-tMyTopic可视化插件同上如上参考:https://blog.csdn.net/wangmx1...https://www.jianshu.com/p/db8...