前言:学习三板斧,实践实战小总结;
装置
自己采纳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