1、RocketMQ相关概念

rocketmq mqnamesrv关闭_apache


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环境配置

rocketmq mqnamesrv关闭_JAVA_02

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

rocketmq mqnamesrv关闭_maven_03


配置镜像源:

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

rocketmq mqnamesrv关闭_maven_04


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

rocketmq mqnamesrv关闭_apache_05

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:

rocketmq mqnamesrv关闭_apache_06


broker:

rocketmq mqnamesrv关闭_apache_07

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

#启动测试
sh ./mqnamesrv

rocketmq mqnamesrv关闭_apache_08

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

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

sh  mqbroker -n localhost:9876

rocketmq mqnamesrv关闭_apache_09

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

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

rocketmq mqnamesrv关闭_apache_10

5、验证是否成功

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

rocketmq mqnamesrv关闭_JAVA_11

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

rocketmq mqnamesrv关闭_maven_12

6、广控台的搭建

6.1、下载

下载可视化界面

https://github.com/apache/rocketmq-externals

rocketmq mqnamesrv关闭_maven_13


.

rocketmq mqnamesrv关闭_apache_14


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 &

rocketmq mqnamesrv关闭_apache_15

PS:关闭命令

sh bin/mqshutdown broker
sh bin/mqshutdown namesrv

rocketmq mqnamesrv关闭_maven_16