一个兼容 S3 API 的对象存储服务器,可将本地文件系统或其他存储后端以 S3 接口对外提供。
juicedata/juicefs
一个分布式 POSIX 文件系统,数据存于 S3 等对象存储,元数据存于 Redis、MySQL 等数据库。
- Star
- 14,567
- Fork
- 1,328
- 未关闭 Issue
- 249
- 最近提交
- 前天
这是什么?
JuiceFS 是一个面向云原生环境的 POSIX 兼容文件系统。文件内容保存在 Amazon S3 等对象存储中,文件名、大小、权限、时间戳和目录结构等元数据则保存在 Redis、MySQL、SQLite 或 TiKV 等元数据引擎中,可根据性能和部署需求选择。
它的目标是让应用无需修改代码,就能把云对象存储当作本地磁盘使用。除挂载为文件系统外,项目还提供 Hadoop Java SDK、兼容 S3 接口的网关以及 Kubernetes CSI 驱动。文件写入对象存储前会被切分为 chunk、slice 和 block,因此在存储桶中看到的并非原始文件结构。
JuiceFS 支持传输和存储加密、LZ4 或 Zstandard 压缩,以及 flock 和 fcntl 两种文件锁。项目 README 称其通过了 pjdfstest POSIX 兼容性测试,并列出了 close-to-open 一致性和原子元数据操作等特性。
核心功能
- 01将 S3 等对象存储挂载为 POSIX 文件系统。
- 02支持 Redis、MySQL、SQLite 和 TiKV 作为元数据引擎。
- 03提供兼容 Hadoop 2.x 和 3.x 的 Java SDK。
- 04包含兼容 S3 接口的网关和 Kubernetes CSI 驱动。
- 05支持传输与存储加密,以及 LZ4 或 Zstandard 压缩。
适用场景
- 在大量服务器之间共享大规模数据集,用于大数据或机器学习任务。
- 在云对象存储上运行 Hadoop 或 Spark 作业。
- 为 Kubernetes 中的容器提供持久化卷。
- 让依赖普通文件系统的旧有应用直接使用对象存储。
快速上手
- 1
部署受支持的元数据引擎(如 Redis、MySQL、SQLite、TiKV)
- 2
准备用于存储数据块的受支持对象存储(如 Amazon S3)
- 3
下载并安装 JuiceFS 客户端,然后按照快速入门指南操作
使用前须知
- 使用前必须自行部署并管理独立的元数据引擎和对象存储服务。
- 作为元数据引擎的 Redis Cluster 对事务中的键有限制,详见常见问题。
收录于专题
标签
常见问题
- juicefs 是什么?
- 一个分布式 POSIX 文件系统,数据存于 S3 等对象存储,元数据存于 Redis、MySQL 等数据库。 JuiceFS 是一个面向云原生环境的 POSIX 兼容文件系统。文件内容保存在 Amazon S3 等对象存储中,文件名、大小、权限、时间戳和目录结构等元数据则保存在 Redis、MySQL、SQLite 或 TiKV 等元数据引擎中,可根据性能和部署需求选择。
- juicefs 可以免费使用吗?用的什么许可证?
- juicefs 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- juicefs 还在维护吗?
- 活跃维护中。juicefs 最近一次提交是在 2026年10月23日。
- juicefs 适合用来做什么?
- 在大量服务器之间共享大规模数据集,用于大数据或机器学习任务。 在云对象存储上运行 Hadoop 或 Spark 作业。 为 Kubernetes 中的容器提供持久化卷。 让依赖普通文件系统的旧有应用直接使用对象存储。
- juicefs 怎么安装和运行?
- 部署受支持的元数据引擎(如 Redis、MySQL、SQLite、TiKV) 准备用于存储数据块的受支持对象存储(如 Amazon S3) 下载并安装 JuiceFS 客户端,然后按照快速入门指南操作
- 在哪里获取 juicefs?
- 源代码和安装说明在 GitHub 上:https://github.com/juicedata/juicefs
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用 Rust 编写的分布式对象存储系统,兼容 S3 API,采用 Apache 2.0 许可证。
基于 S3 对象存储的无状态、兼容 Kafka 的流处理系统,数据不再依赖本地磁盘。
面向小型到中型自托管集群的 S3 兼容分布式对象存储,支持跨地域节点部署。
一个分布式存储系统,用同一个 weed 程序提供 S3 对象存储、文件系统和 Iceberg 表服务,适合存放海量小文件。
一个分布式、低代码的数据编排平台,用于构建、调度和监控复杂的数据管道工作流。