云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Memorphosis详细手册

Memorphosis详细手册

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 4:15:51

numPartitions=10 unflushInterval=50 unflushThreshold=10 第三步:启动服务器

cd bin

sh meta-server-start.sh -f ../conf/server.properties

其中-f选项用于指定配置文件所在完整路径。 启动meta服务器后,你可以telnet到8123端口测试 telnet localhost 8123 stats

8123是meta服务器的默认端口,我们telnet上去并敲一个stats命令看看。敲quit命令可以退出telnet交互。 启动后,可以查看metaServer.log。

第四步:关闭服务器

关闭服务器通过meta-server-stop.sh脚本即可关闭

sh meta-server-stop.sh

其他

服务器的快速启动

Meta服务器在启动的时候会一个一个地校验所有文件,如果文件数目较多,那么这个启动过程会非常慢,如果想加快启动过程,可以使用fast_boot选项,在meta-run-class.sh脚本里添加环境变量

META_OPTS=\-Dlog4j.configuration=$base_dir/bin/log4j.properties -Dmeta.fast_boot=true\

将meta.fast_boot设置为true即可跳过校验环节快速启动。

消息的删除策略

目前服务端支持两种删除策略:

?

定期删除,保存消息一定时间,超过指定时间就无条件删除。例如

deletePolicy=delete,72

的配置就是指使用删除策略,保存至少72个小时,超过即删除。

?

定期压缩归档,保存消息一定时间,超过指定时间就将消息压缩归档,例如

deletePolicy=archive,72

的配置就是指使用归档策略,保存至少72个小时,超过即归档。归档后的文件名前缀不变(也就是start offset),后缀变为arc。归档策略还可以指定是否压缩:

deletePolicy=archive,72,true

第三个参数true指定归档策略使用压缩,meta使用zip压缩算法,压缩后的文件后缀即为zip,前缀不变。

不重启新增topic

新增一个topic或重新配置一些参数以后,运行tools里面的reloadconfig.sh,前提是已经部署了tools

Tools工程的打包部署:假设已经打包好了其他所有子工程,进入tools目录运行mvn -U -Dtest -DfailIfNoTests=false clean install package assembly:assembly,然后在tools的target目录里把跟服务端差不多结构的这个目录拷过去就可以了

或者直接使用jconsole的方式reload配置文件

如何启动异步复制slave

前提是使用metamorphosis-server-wrapper这个server。一个master可以挂上多个异步复制slave

1. 配置slave文件。编辑conf/async_slave.properties #异步复制的slave节点配置 #有问题联系无花 (wq163@163.com) #slave编号,大于等于0表示作为slave启动,同一个master下的slave编号应该设不同值. slaveId=0 #作为slave启动时向master订阅消息的group,如果没配置则默认为meta-slave-group #建议使用默认值 slaveGroup=meta-slave-group #slave数据同步的最大延时,单位毫秒 slaveMaxDelayInMills=500 2. 确保conf/server.ini这个文件的brokerId跟master相同,这个表示作为哪个master的slave 3. 启动slave

sh meta-server-start.sh -f ../conf/server.properties -Fmetaslave=../conf/async_slave.properties

如何启用同步复制

前提是使用metamorphosis-server-wrapper这个server。同步复制的master和slave

是一对一的关系

1. 进入slave机器,确保conf/ gregor_slave.properties文件的存在,不需要配置 2. 启动同步复制slave

sh meta-server-start.sh -f ../conf/server.properties -Fgregor =../conf/gregor_slave.propertie

3. 进入master机器,配置conf/samsa_master.properties #slave节点ip,配置异步复制slave的地址 slave=localhost:8124 #应答回调线程池大小,默认3*cpus callbackThreadCount=10 #是否recover offset,只有在slave作为master启动的时候需要设置为true recoverOffset=false 4. 启动同步复制master sh meta-server-start.sh -f ../conf/server.properties -Fsamsa =../conf/samsa_master.properties

[] 最佳实践

[] 客户端最佳实践

?

复用MessageSessionFactory,最好作为全局单例使用

[] 生产者最佳实践

? ?

? ? ?

尽量复用MessageProducer,可以单个MessageProducer发送多种topic,或者多个MessageProducer每个发送一种topic,前提是不要重复创建。 消息data的序列化方式建议不要使用特定于语言的序列化方式(如java序列化),可考虑自定义协议、json、protobufs、hessian都序列化协议,以便跨语言消费。

实现发送顺序所需要的ParitionSelector,我们会推荐使用业务id,如交易订单id来取模分区列表选择固定分区发送。 单条消息大小最好限制在百k以下。

如无顺序等特殊要求,不要实现自己的PartitionSelector,默认的轮询策略足够。

[] 消费者的最佳实践

? ?

? ? ?

尽量复用MessageConsumer,可以单个MessageConsumer订阅多种topic,或者多个MessageConsumer每个订阅一种topic,前提是不要重复创建。 单次拉取的数据不宜过大,对消息实时性要求较高的应用,应将单次拉取的数据缩小,但至少大于单条消息的大小。如对吞吐量要求较高,可将该值设大。

如消费过程非常轻量级(比如只是打印),可不设置MessageListener线程池,减少资源耗费。

如消息发送量巨大,消费能力不高,可适当提高拉取消息线程数fetchRunnerCount和MessageListener的线程池大小。

尽量在消息消费过程中捕捉所有异常,减少消息在本地的堆积和恢复,前提是不要遗漏消息。如确实无法处理,请主动抛出异常以便重试。

[] 原理和实现

[] 设计原理

整体的设计思路与kafka是完全一致的,kafka的设计文档可以作为meta的参考文档

http://sna-projects.com/kafka/design.php 实现上大体介绍下。

[] 网络通讯和协议

搜索更多关于: Memorphosis详细手册 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

numPartitions=10 unflushInterval=50 unflushThreshold=10 第三步:启动服务器 cd bin sh meta-server-start.sh -f ../conf/server.properties 其中-f选项用于指定配置文件所在完整路径。 启动meta服务器后,你可以telnet到8123端口测试 telnet localhost 8123 stats 8123是meta服务器的默认端口,我们telnet上去并敲一个stats命令看看。敲quit命令可以退出telnet交互。 启动后,可以查看metaServer.log。 第四步:关闭服务器 关闭服务器通过meta-server-stop.sh脚本即可关闭

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com