传统大数据平台(HDFS)原生不擅长存储海量小文件,大量小文件会导致 NameNode 元数据膨胀、内存压力增大、检索效率低下,难以满足图片、文档、日志等小文件高并发读写与检索的业务场景。Pallas 旨在为企业大数据/AI 平台提供统一的小文件存储与管理能力,解决小文件存储效率低、检索能力弱、缺乏多租户隔离与权限管控等问题,适用于网络安全日志取证、AI 训练样本管理等行业场景。
点击空白处退出提示
传统大数据平台(HDFS)原生不擅长存储海量小文件,大量小文件会导致 NameNode 元数据膨胀、内存压力增大、检索效率低下,难以满足图片、文档、日志等小文件高并发读写与检索的业务场景。Pallas 旨在为企业大数据/AI 平台提供统一的小文件存储与管理能力,解决小文件存储效率低、检索能力弱、缺乏多租户隔离与权限管控等问题,适用于网络安全日志取证、AI 训练样本管理等行业场景。
Pallas 是自主研发的分布式小文件存储系统,核心功能模块包括:1)Master/Worker 主从架构,支持基于 ZooKeeper 的 Master 选举与高可用;2)Namespace(命名空间)与 Bucket(桶)两级元数据管理,支持创建、查询、更新、删除及配额(Quota)与 QPS 限流;3)基于 HBase 存储对象元数据与索引,HDFS 存储文件实际内容(HFile 写入与读取);4)集成 ElasticSearch 实现文件全文检索(Fulltext Search);5)集成 Apache Tika 实现多种文件格式的内容解析与转换;6)基于 Kerberos 的身份认证及 ACL 权限体系(用户级/命名空间级/桶级访问控制);7)RESTful API 对外提供对象上传、下载、删除、批量操作等接口;8)节点间基于 Netty 自定义协议通信,支持心跳保活、消息确认(ACK)与统计上报。
本人独立完成该项目的整体架构设计与核心代码开发,负责 Master/Worker 通信协议设计、基于 ZooKeeper 的分布式锁与选主机制实现、HBase 元数据存储与 HDFS 文件读写链路开发,以及 ElasticSearch 全文检索模块和 RESTful API 层的开发。技术栈涉及 Java、Netty、ZooKeeper、HBase、HDFS、ElasticSearch、Kafka、Apache Tika 等。实现难点主要在于:小文件元数据与大文件实体分离存储以兼顾检索效率与存储成本、基于 ZooKeeper 的高可用主备切换与脑裂防护、以及多租户场景下的配额与限流控制。



评论