前言:学习三板斧,实践实战小总结;

装置

自己采纳3台云服务器(因为本人的电脑内存优先,无奈满足日后的需要,索性一狠心买了3台云服务器)

单机

  • 1.确保本地的jdk版本是1.8 java -version查看(非1.8能够看作者linxu命令那篇文章自行装置)
  • 2.官网下载rocketmq-all-4.7.1-bin-release

tar zxvf rocketmq-all-4.7.1-bin-release.tar.gz

  • 3.须要启动两个服务
cd rocketmq-all-4.7.1-bin-release/后盾启动namaservernohup sh bin/mqnamesrv & 查看日志tail -400f ~/logs/rocketmqlogs/namesrv.log后盾启动,因为阿里云人家内存多得是,所以虚拟机参数很大,你要本人手动改小一点;vim bin/runserver.shvim bin/runbroker.sh里边的参数依据各人配置设置JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"后盾启动brokernohup sh bin/mqbroker -n localhost:9876 &查看日志tail -400f ~/logs/rocketmqlogs/broker.log

4.测试是否搭建胜利

发送发放测试export NAMESRV_ADDR=localhost:9876sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer生产方测试export NAMESRV_ADDR=localhost:9876sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer看到一行一行的数据在控制台输入证实胜利

敞开
sh bin/mqshutdown namesrv(broker)

集群搭建

nameserver是无状态的,节点之间不须要通信;
broker分为主从,依据broker name确定一组,依据id分主从;0主其余从;
集群模式

2m2s模式 sync

1.设置host 为了不便当前的集群治理配置;间接应用域名就能够
2.重启网卡
systemctl restart network
3.敞开防火墙
systemctl stop firewalld.service
4.创立音讯存储门路

 mkdir /data/rocketmq/store -p mkdir /data/rocketmq/store/commitlog mkdir /data/rocketmq/store/index mkdir /data/rocketmq/store/consumequeue 

5.配置broker配置文件

集群治理

实践

角色


1.producer生产者
2.nameserver注册核心 留神nameserver之间是不连通的可减少效率
3.broker 用于接管生产者音讯
4.consumer消费者
对于一个生产者在发行小的时候咱们须要通过nameserver去发现具体要发送给那个broker(类比注册核心zk);那nameserver是怎么晓得broker的,每个broker启动会本人想nameserver中进行注册

5.topic 分区音讯的类别;
6.tag 相当于topic下边的子目录
7.message queue 队列 ,topic的分片
consumer数量<queue;
8.offset 偏移量

实战

已放入到git

总结