rocketMQ简述

download:

http://rocketmq.apache.org/dowloading/releases/
https://archive.apache.org/dist/rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip

[root@localhost opt]# mv /root/rocketmq-all-4.3.2-bin-release.zip /opt/
[root@localhost opt]# unzip rocketmq-all-4.3.2-bin-release.zip
[root@localhost opt]# mv rocketmq-all-4.3.2-bin-release rocketmq


#调整默认的内存大小参数
[root@localhost opt]# vim bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m -XX:MetaspaceSize=128m -
XX:MaxMetaspaceSize=128m"


[root@localhost opt]# vim bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx128m -Xmn128m"
# 1、启动nameserver
[root@localhost opt]# bin/mqnamesrv
或
[root@localhost opt]# nohup bin/mqnamesrv -n 192.168.168.168:9876 >>/dev/null 2>&1 &
日志目录:~/logs/rocketmqlogs/namesrv.log


# 2、启动broker;-n 指定nameserver地址和端口
[root@localhost opt]# bin/mqbroker -n 192.168.168.168:9876 
或
在conf/broker.conf 中 加入 brokerIP1=你的IP
[root@localhost opt]# nohup sh bin/mqbroker -n 192.168.168.168:9876 -c conf/broker.conf autoCreateTopicEnable=true >>/dev/null 2>&1 &
日志目录:~/logs/rocketmqlogs/broker.log


如上启动可避免如下错误:
org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout


# 3、rocketmq服务关闭
关闭namesrv服务:sh bin/mqshutdown namesrv
关闭broker服务 :sh bin/mqshutdown broker
sh mqadmin updateTopic -n 192.168.168.168:6789 -c Test-Cluster -t TEST_TOPIC

sh mqadmin updateSubGroup -n 192.168.168.168:6789 -c Test-Cluster -g TESTConsumer

mqadmin updateTopic -b 192.168.100.100:10911 -n 192.168.100.100:9876 -t TopicTest

启动没有异常检查nameserver中是否成功注册了broker,有两种方式 :
第一种:查看broker的日志

[root@localhost ]# tail -n10 ~/logs/rocketmqlogs/broker.log

在这里插入图片描述

第二种、 mqadmin

[root@localhost bin]# sh mqadmin clusterList -n 192.168.100.100:9876

在这里插入图片描述


Producer

消息生产者,负责产生消息,一般由业务系统负责产生消息。

Producer Group

一类 Producer 的集合名称,这类 Producer 通常发送一类消息,且发送逻辑一致。


Consumer

消息费者,负责消费消息,一般是后台系统负责异步消费。

Push Consumer

服务端向消费者端推送消息。

Pull Consumer

消费者端向服务定时拉取消息。

Consumer Group

一类 Consumer 的集合名称,这类 Consumer 通常消费一类消息,且消费逻辑一致。


NameServer

集群架构中的组织协调员,收集broker的工作情况,不负责消息的处理。

Broker

是RocketMQ的核心,负责消息的发送、接收、高可用等,需要定时发送自身情况到NameServer,默认10秒发送一次,超时2分钟会认为该broker失效。


Topic

不同类型的消息以不同的Topic名称进行区分,如User、Order等是逻辑概念。

Message Queue

消息队列,用于存储消息。



download rocket-console

https://github.com/apache/rocketmq-externals
在这里插入图片描述
修改
…\rocketmq-console\src\main\resources\application.properties文件
在这里插入图片描述

阅读README.md
mvn clean package -Dmaven.test.skip=true在地址栏中输入cmd,快

mvn clean package -Dmaven.test.skip=true

java -jar target/rocketmq-console-ng-1.0.1.jar

start rocket-console

nohup java -jar rocketmq-console-ng-1.0.1.jar > /dev/null 2>&1 &

访问控制台
192.168.168.168:8080


三、源码测试
github地址:https://github.com/apache/rocketmq


常用命令说明:

[root@localhost bin]# ./mqnamesrv --help
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: MaxNewSize (131072k) is equal to or greater than the entire heap (131072k).  A new max generation size of 131008k will be used.
usage: mqnamesrv [-c <arg>] [-h] [-n <arg>] [-p]
 -c,--configFile <arg>    Name server config properties file
 -h,--help                Print help
 -n,--namesrvAddr <arg>   Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876
 -p,--printConfigItem     Print all config item

[root@localhost bin]# ./mqbroker --help
usage: mqbroker [-c <arg>] [-h] [-m] [-n <arg>] [-p]
 -c,--configFile <arg>       Broker config properties file
 -h,--help                   Print help
 -m,--printImportantConfig   Print important config item
 -n,--namesrvAddr <arg>      Name server address list, eg: 192.168.0.1:9876;192.168.0.2:9876
 -p,--printConfigItem        Print all config item

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章