学习
实践
活动
专区
工具
TVP
写文章

Apache BookKeeper之MetaData管理

Version; 针对连续write的优化; 针对Scan操作的优化; 目前来看合适的MetaData Storage有zookeeper, etcd, 如果ledger数量超级大,还可以使用HBase; Apache BookKeeper当前默认使用Zookeeper实现; MetaData操作的实现 MetadataBookieDriver 在Apache BookKeeper中对MetaData的所有操作都被封装到一个抽象接口 driverClass.getName(); } } 利用java的反射机制根据driverClass即可产生出对应的MetadataBookieDriver对象; 默认包含org.apache.bookkeeper.meta.zk.ZKMetadataBookieDriver 3181的节点, cookie内容形如: 4 ---- 当前cookie的layout版本号 bookieHost: "10.209.240.36:3181" journalDir: "/data/bookkeeper /journal" ledgerDirs: "1\t/data/bookkeeper/ledger" instanceId: "eb314bf8-885e-4c60-803d-32fd7858d790"

1.1K30

Apache BookKeeper中数据目录分析

Apache BookKeeper中数据目录分析 需要落盘的数据 Journals 这个journals文件里存储的相当于BookKeeper的事务log或者说是写前log, 在任何针对ledger的更新发生前 LastLogMark 从上面的的讲述可知, 写入的EntryLog和Index都是先缓存在内存中,再根据一定的条件周期性的flush到磁盘,这就造成了从内存到持久化到磁盘的时间间隔,如果在这间隔内BookKeeper journal文件内容来恢复,这个LastLogMark就记录了从journal中什么位置开始恢复; 它其实是存在内存中,当IndexCache被flush到磁盘后其值会被更新,其也会周期性持久化到磁盘文件,供BookKeeper data-flow1.png 文件目录使用情况监控 用于写入文件的目录有三种状态: 可写; 可写,但剩余空间低于所配置的警告阈值; 不可写,已经写满; 当被GC清理了一部分数据后,其状态又可变为可写; BookKeeper

85920
  • 广告
    关闭

    2023新春采购节

    领8888元新春采购礼包,抢爆款2核2G云服务器95元/年起,个人开发者加享折上折

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    BookKeeper全解(1)-BookKeeper简介和快速上手

    我们这里只为了部署一个调试环境,并不是生产环境: 首先,拉下来BookKeeper的代码: git clone https://github.com/apache/bookkeeper.git 之后 但是ZK中的原始元数据,需要手工初始化,这就用到了一个类:org.apache.bookkeeper.bookie.BookieShell 我们用任意一个配置文件作为参数,即可完成初始化 我用的IDE 是IDEA,这里配置BookieShell运行初始化: 主类选择org.apache.bookkeeper.bookie.BookieShell VM options填写:-DentryFormatterClass =${ENTRY_FORMATTER_CLASS:-org.apache.bookkeeper.util.StringEntryFormatter} Program aruguments填写:--conf manager initialized 然后,开始配置三个Bookie的启动: 主类选择org.apache.bookkeeper.server.Main Program aruguments填写:-

    1.6K30

    bookkeeper具体做什么_reading for knowledge翻译

    BookKeeper是满足CP特性的分布式系统,并且同时提供了较高的可用性,下文会有论述。 BookKeeper是企业级的存储系统,提供强持久性、一致性和低延迟的保证。最初起源于Yahoo! 2011年作为ZooKeeper的子项目在Apache孵化,2015成为顶级项目。 HDFS NN,Manhattan(KV store in Twitter)) 在单个集群或者多个集群之间提供复制功能 为订阅/发布系统提供存储能力(EvnentBus in Twitter and ApacheBookKeeper交互 BookKeeper客户端主要有两个角色:创建和删除ledgers,向ledgers写入或者从ledgers中读取entry。 Stream API: higher-level面向流的API,通过Apache DistributedLog提供,直接操作流,不用关心与ledger交互的复杂性。

    12030

    5000字阐述云原生消息中间件Apache Pulsar的核心特性和设计概览

    Apache Pulsar 是 Apache 软件基金会顶级项目,自称是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制 Pulsar 最初由 Yahoo 开发,目前由 Apache 软件基金会管理。 Bookie Apache Pulsar 使用 Apache BookKeeper 作为存储层。Apache BookKeeper 针对实时工作负载进行优化,是一项可扩展、可容错、低延迟的存储服务。 Apache BookKeeper 在这里我们赵中介绍一下Apache BookKeeper。 Pulsar用 Apache BookKeeper作为持久化存储,BookKeeper有以下几个特性: 利用多个ledger保存独立的日志 为按条目复制的顺序数据提供了非常高效的存储 保证了多系统挂掉时

    36030

    翟佳:高可用、强一致、低延迟——BookKeeper的存储实现

    所以Pulsar针对这些问题,做了两层API的统一:既兼容MQ的并发消费模型,提供比较好的服务质量,同时通过底层存储层抽象,可以提供很高的吞吐和带宽,这就是我们要介绍的Apache BookKeeper Apache BookKeeper简介很多服务里都有日志,例如MySQL的binlog和HDFS的namenode的editlog,都是对日志的一个抽象,而BookKeeper就是把这个抽象变成了一个分布式的服务 BookKeeper的诞生BookKeeper也是Apache的一个项目,同样是由雅虎捐献诞生,原本是为了应对雅虎开源HDFS里元数据存储的需求。 Apache Pulsar核心研发团队创立,同时有Apache Pulsar和Apache BookKeeper项目管理委员会(PMC)主席,有6名Apache Pulsar PMC成员和3名Apache BookKeeper PMC成员,有约20名 Apache Committer。

    36330

    Apache Pulsar 2.3 重磅发布,新特性独家解读

    Apache Pulsar 2.3.0 重磅发布! 用户可以在BookKeeper客户端开始粘性读 - BookKeeper客户端会优先选择一个复本进行读取,只有当这个复本不可读或者网络时延变高的情况下,BookKeeper才会更换其他复本进行读取。 此外,我们将于3月23日在杭州举办Apache Pulsar的第三次线下Meetup。这次Meetup由Apache Pulsar和Apache Flink两大社区联合举办。 届时,来自Apache Pulsar的PMC成员和核心Committer将会齐聚杭州,为大家深度解析2.3版本的诸多特性,以及联合Apache Flink社区一起探讨Pulsar和Flink在批流融合方面的集成进展 Pulsar 2.3的下载链接:https://pulsar.incubator.apache.org/en/download/ Pulsar的项目链接:https://pulsar.incubator.apache.org

    1.4K20

    消息传输的设计方式(上)

    一文,原文地址在这里,大有感触,作者分享了自己过去几年时间里在工作中使用Apache Pulsar、DistributedLog,以及BookKeeper的实际经验。 ,根据他的描述,这一工作内容最终促成了Apache DistriutedLog的诞生。 预备知识 郭斯杰最早开始接触的是BookKeeper,从后面的文章介绍中我们可以知道,BookKeeper是很多组件的基础,可以帮助进行分布式环境的信息协同管理,正是由于拥有BookKeeper的实际工作经验 一文,原文地址在这里,大有感触,作者分享了自己过去几年时间里在工作中使用Apache Pulsar、DistributedLog,以及BookKeeper的实际经验。 ,根据他的描述,这一工作内容最终促成了Apache DistriutedLog的诞生。

    41980

    5张图带你了解Pulsar的存储引擎BookKeeper

    Apache BookKeeper是一款企业级存储系统,最初由雅虎研究院研发,在2011年作为Apache ZooKeeper的子项目进行孵化,在2015年1月成为 Apache顶级项目。 起初,BookKeeper是一个预写日志(WAL)系统,经过几年的发展,BookKeeper的功能更加完善,比如为Hadoop分布式文件系统(HDFS)的NameNode提供高可用和多副本,为消息系统比如 BookKeeper记录NameNode的edit log(edit log存放文件系统的操作日志),NameNode的所有修改都会记录到BookKeeperBookKeeper会设置一个读超时时间,如果读取超时了,会给另外一个bookie节点(speculative read)发送读请求。 Consumer消费消息后,还会修改Cusor中保存的offset,并且也会记录到BookKeeper。这样保证了Cursor的一致性。

    15830

    Pulsar官方文档翻译(1)整体架构和概念

    如果积压的消息对于缓存来说太大了, 则Broker将开始从BookKeeper那里读取Entries(Entry同样是BookKeeper中的概念,相当于一条记录)。 如何管理Pulsar集群,请参考clusters指南 元数据存储 Pulsar利用Apache Zookeeper进行元数据存储,集群配置和协调。 未确认送达的消息需要持久化存储直到它们被确认送达 这种消息推送方式通常叫做持久化消息推送 在Pulsar内部,所有消息都被保存并同步N份,例如,2个服务器保存四份,每个服务器上面都有镜像的RAID存储 Apache BookKeeper Pulsar用 Apache BookKeeper作为持久化存储。 除了消息数据,cursors也会被持久化入BookKeeper。 Cursors是消费端订阅消费的位置。 BookKeeper让Pulsar可以用一种可扩展的方式存储消费位置。

    54030

    【12图】你管这破玩意叫Pulsar

    下图是几款消息中间件的历史: 2012年pulsar在Yahoo内部开发,2016年开源并捐献给Apache,2018成为Apache顶级项目。 Pulsar用 Apache BookKeeper作为持久化存储,Broker持有BookKeeper client,把未确认的消息发送到BookKeeper进行保存。 BookKeeper是一个分布式的WAL(Write Ahead Log)系统,pulsar使用BookKeeper有下面几个便利: 可以为Topic创建多个ledgers Ledger是一个只追加的数据结构 ,并且只有一个writer,这个writer负责多个BookKeeper存储节点(就是Bookies)的写入。 2 BookKeeper简介 从上一节的讲解看出,Apache Bookkeeper是一个易扩展、高可用、运维简单的分布式存储系统。这节再看一下Bookkeeper的其他三个特性。

    14951

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 消息队列 Pulsar 版

      消息队列 Pulsar 版

      消息队列 Pulsar 版(TDMQ Pulsar版)是一款基于 Apache Pulsar 自研的消息中间件,具备极好的云原生和 Serverless 特性,兼容 Pulsar 的各个组件与概念,具备计算存储分离,灵活扩缩容的底层优势。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券