A software platform for processing vast amounts of data
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 8 个月前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 5 年前 |
Accumulo
介绍
Apache Accumulo是一款基于Google Bigtable的分布式键值存储系统,专为大规模数据处理而设计。它由美国国家安全局(NSA)开发并贡献给Apache软件基金会,拥有高度的安全性和可扩展性。Accumulo Instamo 架构模板是Apache Accumulo的一个重要组件,旨在简化新项目的搭建过程。
Accumulo Instamo 架构模板提供了标准的项目结构和配置,以帮助开发者快速创建符合Accumulo规范的应用程序。通过此架构模板,可以避免从头开始构建项目基础框架的时间成本,从而将更多精力聚焦于业务逻辑和功能实现上。
软件架构
软件架构说明 一个 Accumulo 实例(Instance)由以下进程和组件构成:
- TabletServer (TS):工作节点,负责处理数据的读写请求、内存管理、文件刷写与合并(Compaction)、Tablet 的分裂与迁移等核心任务。
- Master:主控节点,负责集群管理,如 Tablet 的负载均衡、故障转移、表的创建与删除等。支持多 Master 实现高可用。
- ZooKeeper:分布式协调服务,用于管理集群配置、服务发现、Master 选举和 Tablet 位置信息等。
- HDFS:底层分布式文件系统,用于存储 Tablet 数据文件、预写日志(WAL)等持久化数据,提供高容错能力。
- Garbage Collector (GC):垃圾回收进程,定期清理 HDFS 上已失效的数据文件和 WAL,释放存储空间。
- Monitor:Web 监控服务,提供集群读写速率、Compaction 状态、Tablet 分布等丰富的监控信息,是排查问题的首选入口。
- Tracer:分布式追踪服务,用于收集和展示系统内部操作的耗时,辅助性能调优。
- Client:客户端库,应用程序通过它与集群交互,执行数据的增删改查操作
Accumulo 通过 Tablet 实现数据的分布式存储与管理。
- Tablet:表的逻辑分片(Shard),包含一段连续的 Row ID 区间。所有属于同一行的数据都存储在同一 Tablet 内,这简化了行级事务的实现。
- 自动分裂与合并:
- 分裂 (Splitting):当 Tablet 增长到阈值时,会自动按 Row ID 分裂成两个新的 Tablet,并可能迁移到其他 TabletServer 以实现负载均衡。
- 合并 (Merging):当数据删除导致 Tablet 过小过多时,会自动合并,以减少管理开销。 元数据管理:所有 Tablet 的位置和范围信息都存储在特殊的元数据表(!METADATA)中,由 Master 和 TabletServer 共同维护.