RocketMQ 入门、安装、广控台
1、RocketMQ相关概念NameServer集群NameServer的作用是注册中心,类似于Zookeeper,但又有区别于它的地方。每个NameServer节点互相之间是独立的,没有任何信息交互,也就不存在任何的选主或者主从切换之类的问题,因此NameServer与Zookeeper相比更轻量级。单个NameServer节点中存储了活跃的Broker列表(包括master和slave)...
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
更多推荐
所有评论(0)