IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> rocketmq的windows与linux环境简单使用 -> 正文阅读

[系统运维]rocketmq的windows与linux环境简单使用

一、使用中遇到的问题

问题1:
mqbroker启动失败原因:
runbroker.sh里面设置的内存大小太大了。runserver.sh 有类似问题

问题2:
Broker禁止自动创建Topic,且用户没有通过手工方式创建Topic 会出现 No route info of this topic 异常,另外代码编程中,导入的类库需要全,具体可以参考rockermq的lib文件夹下的jar包。


问题3:
ServletRequest / ServletResponse / MultipartFile 这些对象注意,是不能被序列化的,特别注意要放入消息队列的对象是否可以被序列化。

注意消息最大长度设置参数,规范要求。

二、linux使用
启动:
nohup sh mqnamesrv &

nohup sh mqbroker -n localhost:9876 &
nohup sh mqbroker -n localhost:9876 autoCreateTopicEnable=true &
nohup sh mqbroker -n localhost:9876 ?-c /opt/rocketmq/rocketmq-all-4.7.0-bin-release/conf/broker.conf ? &
nohup sh mqbroker -n localhost:9876 ?autoCreateTopicEnable=true -c /opt/rocketmq/rocketmq-all-4.7.0-bin-release/conf/broker.conf ? &
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-noslave/broker-a.properties &
broker的默认端口是10911 默认IP是拿到的第一个网卡
The broker[daqinhere, 10.10.10.12:10911] boot success. serializeType=JSON and name server is localhost:9876
HAServer: 10.10.10.12:10912

指定broker的ip地址方式是在其配置文件中配置: brokerIP1=10.10.10.12 ? ? 即可

./mqbroker -n 127.0.0.1:9876 -p ? 查看配置信息,比如autoCreateTopicEnable是不是true

测试消息发送与接收:
export NAMESRV_ADDR=localhost:9876
sh tools.sh org.apache.rocketmq.example.quickstart.Producer ? ? ? ?生产消息
java -server -Xms1g -Xmx1g -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Djava.ext.dirs=./../lib:/usr/java/jdk1.8.0_212-amd64/jre/lib/ext:/usr/java/jdk1.8.0_212-amd64/lib/ext -cp .:./../conf:.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar org.apache.rocketmq.example.quickstart.Producer

java -server -Xms1g -Xmx1g -Xmn256m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Djava.ext.dirs=./../lib:/usr/java/jdk1.8.0_212-amd64/jre/lib/ext:/usr/java/jdk1.8.0_212-amd64/lib/ext -cp .:./../conf:.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar com.test.TestSth

sh tools.sh org.apache.rocketmq.example.quickstart.Consumer ? ?消费消息


停止:
sh mqshutdown broker
sh mqshutdown namesrv

rm -rf ../store/*


nohup sh mqnamesrv &
nohup sh mqbroker -n localhost:9876 ?-c /opt/rocketmq/rocketmq-all-4.7.0-bin-release/conf/broker.conf ? &

sh mqadmin clusterList -n localhost:9876 ? ? ? ? ? ? ? ?查看nameserver上注册了哪些broker。

手动创建rocketmq中的topic
sh mqadmin updatetopic -n mq服务器所在地址 -c 进群组名 -t topic名字
单master的默认群组名是DefaultCluster,配置在 broker.conf ?中。
sh mqadmin updatetopic -n 10.10.10.12:9876 -c DefaultCluster -t configTopicArp2
sh mqadmin updateTopic -b localhost:10911 -t TopicTest
sh mqadmin updatetopic -n 10.10.10.12:9876 -c AdpMqCluster -t topic_topic

自动创建topic主题生效要求客户端和服务端版本一致,目前客户端和服务端都是4.7.0版本的。
使用自动创建主题存在不好的地方,部分场景消息收到的时间间隔很长。https://www.sohu.com/a/322176700_115128

查看topic列表:
sh mqadmin topicList -n localhost:9876
查看特定topic ?TopicTestC的cluser:
sh mqadmin topicClusterList -n localhost:9876 -t TopicTestC
删除特定topoc ? TopicTestTaohuazhong1:
sh mqadmin deleteTopic -n localhost:9876 -t TopicTestTaohuazhong1 -c DefultCluster
查看topic路由信息:
sh mqadmin topicRoute -n localhost:9876 -t TopicTest
查看topic状态:
sh mqadmin topicStatus -n localhost:9876 -t TopicTest
https://www.jianshu.com/p/84a6948f45cf

提供了基于DLedger的master选举机制。DLedger是基于RAFT协议做一定变更开发的选举机制。
利用分布式系统验证与故障注入框架 Jepsen 来检测 DLedger 存在的问题,并验证系统的可靠性。
https://zhuanlan.zhihu.com/p/77166786

可靠性设计:
1、磁盘占用 ?RocketMQ所有消息都是持久化的,采用文件记录形式持久化。RocketMQ没有内存Buffer概念,RocketMQ的队列都是持久化磁盘,数据定期清除。Broker会定期删除过期的数据,例如Broker只保存3天的消息,那么这个Buffer虽然长度无限,但是3天前的数据会被从队尾删除。
2、消息重发业务处理,消息重试机制可以指定失败重试次数。rocketmq不支持Exactly Only Once,要求在业务上进行去重,也就是说消费消息要做到幂等性。
3、消息有序保证 RocketMQ可以严格的保证消息有序
4、批量发送消息 单次超过4MB,需要保护,具体参见官方优秀实践。

broker配置文件:
fileReservedTime?= 72,文件保留时间(单位小时),默认为3天
deleteWhen?= “04”,何时触发删除文件,默认凌晨4点删除文件
brokerRole = ASYNC_MASTER ? broker的角色:异步复制的master,同步双写的master,slave
flushDiskType = ASYNC_FLUSH ?刷盘:同步,异步

1:物理使用率大于diskSpaceWarningLevelRatio(默认90%可通过参数设置),则会阻止新消息的插入
2:物理使用率大于diskSpaceCleanForciblyRatio(默认85%,可设置),则过进行过期物理文件的删除
3:恢复磁盘可写 配合 #1使用
4:物理磁盘使用率小于diskMaxUsedSpaceRatio 表示磁盘使用正常

jvm环境的user.home变量值 通过 java -XshowSettings:all -version 查看
rocketmq的日志路径是以该user.home变量为基准的,配置在logback配置文件里。
/root/logs/rocketmqlogs ? ?存储日志路径
/root/store ? ?存储数据文件路径
storePathRootDir=/opt/rocketmq/rocketmq-all-4.7.0-bin-release/store
storePathCommitLog=/opt/rocketmq/rocketmq-all-4.7.0-bin-release/store/commitlog
storePathConsumeQueue=/opt/rocketmq/rocketmq-all-4.7.0-bin-release/store/consumequeue
storePathIndex=/opt/rocketmq/rocketmq-all-4.7.0-bin-release/store/index
storeCheckpoint=/opt/rocketmq/rocketmq-all-4.7.0-bin-release/store/checkpoint
abortFile=/opt/rocketmq/rocketmq-all-4.7.0-bin-release/store/abort


rockermq-console启动,用于查看rocketmq 集群相关信息:
java -jar D:\a\1tools\rocketmq-externals-master\rocketmq-console\target\rocketmq-console-ng-1.0.1.jar ? ? ? ?即可
启动之前需要配置 D:\a\1tools\rocketmq-externals-master\rocketmq-console\src\main\resources\application.properties ? ,将nameserver的IP和端口配置进去。

三、windows环境

windows环境拉起nameserver和broker?
start mqnamesrv.cmd
mqbroker -n localhost:9876 autoCreateTopicEnable=true

1、producer生成时候设置的失败重试次数是生效的,只不过是在具体规定的超时时间内完成所有重试,如果未完成,会返回超时异常。
2、采用java接口创建topic,则在首次向该topic发送消息的时候,消费者消费到消息的时间很长,需要几十秒,所以要求topic在拉起rocketmq时候用脚本直接创建,在java代码中不做创建。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-11 16:57:23  更:2021-07-11 16:58:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 2:45:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码