1、RocketMQ相关概念

在这里插入图片描述
NameServer集群
NameServer的作用是注册中心,类似于Zookeeper,但又有区别于它的地方。每个NameServer节点互相之间是独立的,没有任何信息交互,也就不存在任何的选主或者主从切换之类的问题,因此NameServer与Zookeeper相比更轻量级。单个NameServer节点中存储了活跃的Broker列表(包括master和slave),这里活跃的定义是与NameServer保持有心跳。

Broker集群
Broker是具体提供业务的服务器,单个Broker节点与所有的NameServer节点保持长连接及心跳,并会定时将Topic信息注册到NameServer。

Topic:主题, 如订单类消息,queue是消息的物理管理单位,而topic是逻辑管理单位。一个topic下可以有多个queue,

Tag:标签,子主题(二级分类)对topic的进一步细化,用于区分同一个主题下的不同业务的消息

Producer:消息生产者
Producer Group:消息生产者组,发送同类消息的一个消息生产组

Consumer:消费者
Consumer Group:消费同类消息的多个实例

Message:消息,每个message必须指定一个topic
Offset: 偏移量,可以理解为消息进度
commit log: 消息存储会写在Commit log文件里面

2、JAVA环境配置

在这里插入图片描述

3、maven环境配置

wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

解压配置

vim  /etc/profile

export JAVA_HOME=/usr/local/jdk1.8
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=.:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

source /etc/profile

在这里插入图片描述
配置镜像源:

cd /usr/local/apache-maven-3.5.4/conf
vim settings.xml

<mirrors>
     <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
   </mirror>
</mirrors>

**4、安装RocketMQ

4.1、下载安装包
http://mirror.bit.edu.cn/apache/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip
在这里插入图片描述
4.2、安装

unzip  rocketmq-all-4.4.0-source-release.zip
mv rocketmq-all-4.4.0/ rocketmq
cd rocketmq/
#跳过测试并且安装
mvn -Prelease-all -DskipTests clean install -U

在这里插入图片描述

4.3、进入rocket目录 根据机器来判断是否要修改内存大小

#进入该目录
cd /usr/local/rocketmq/distribution/target/apache-rocketmq/bin
#如果NameServer Broker报内存错误 那么修改NameServer Broker的内存
vim runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
vim runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms528m -Xmx528m -Xmn256m"

runserver:
在这里插入图片描述
broker:
在这里插入图片描述

4.4、启动NameServer(默认端口号9876)

#启动测试
sh ./mqnamesrv

在这里插入图片描述

#守护进程启动 nameserver
nohup sh ./mqnamesrv  >/dev/null 2>&1 &

4.5、启动Broker(默认端口10911)
测试

sh  mqbroker -n localhost:9876

在这里插入图片描述

启动broker(-n指定nameserver地址,nameserver服务端口为9876)

nohup sh  ./mqbroker -n localhost:9876  >/dev/null 2>&1 &

在这里插入图片描述

5、验证是否成功

#在bin目录下
#设置名称服务地址
export NAMESRV_ADDR=localhost:9876
#投递消息
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

在这里插入图片描述

#消费消息 
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

在这里插入图片描述

6、广控台的搭建

6.1、下载
下载可视化界面
https://github.com/apache/rocketmq-externals
在这里插入图片描述
.在这里插入图片描述
6.2、解压、打包

unzip rocketmq-externals-master.zip
cd /usr/local/rocketmq-externals-master/rocketmq-console
mvn clean package -Dmaven.test.skip=true

6.3、运行

#namesrvAddr nameServer地址 多个用;隔开 例如 192.168.1.106:9876;192.168.1.107:9876
java -jar rocketmq-console-ng-1.0.1.jar --server.port=8888 --rocketmq.config.namesrvAddr=192.168.92.39:9876
#后台启动
nohup java -jar rocketmq-console-ng-1.0.1.jar --server.port=8888 --rocketmq.config.namesrvAddr=192.168.92.39:9876   >/dev/null 2>&1 &

在这里插入图片描述

PS:关闭命令

sh bin/mqshutdown broker
sh bin/mqshutdown namesrv

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐