JuiceFS v1.0 正式发布,首个面向生产环境的 LTS 版本
今天,JuiceFS v1.0 发布了
经过了 18 个月的持续迭代和大量生产环境的广泛验证,此版本将成为第一个被长期维护的稳定版(LTS)。同时,该版本提供完整的向前兼容,所有用户可以直接升级。
JuiceFS 是为云环境设计的分布式文件系统,同时兼容 POSIX、HDFS、S3 访问协议,也可以使用 CSI 方式在 Kubernetes 中作为 PV 使用,在大数据、机器学习,和需要共享文件存储的场景中广泛使用。
可用于生产环境
稳定可靠的软件离不开全面的质量管理体系,JuiceFS 的测试体系已经涵盖了每日进行的单元测试、基础功能测试、兼容性测试、第三方工具测试以及实际应用场景测试。每一个版本发布之前,还需要额外完成异常测试和压力测试。在这次 v1.0 正式版发布前,我们模拟了从 Redis 切换到 TiKV 再持续写入 100 亿小文件,来验证系统的扩展性。
在过去的一年半里,来自不同行业、不同企业规模的社区用户尝试将 JuiceFS 应用到更为广泛的场景中:人工智能、大数据、云原生、数据共享、备份归档等。JuiceFS 的能力在应用中获得了持续改进,并上线到生产环境中,经受住了持续的稳定性和性能考验。
有上千集群在持续使用 JuiceFS,最大集群规模超过 10PB 数据和数十亿文件。这些用户来自互联网和科技、电信运营商、生命医药、航天、气象、遥感等领域;包括有移动云、航天宏图、小米、vivio、携程旅行、大疆、理想汽车、上汽集团、地平线、云知声、深势科技、商汤、Shopee、知乎、网易游戏、一面数据等企业,还有济南超算中心、国家天文数据中心等。
这些社区用户也分享了他们在不同场景的实践:
- 移动云使用 JuiceFS 支持 Apache HBase 增效降本的探索
- 理想汽车使用 JuiceFS 实现数据平台存算分离
- Shopee 使用JuiceFS 实现 ClickHouse 数据冷热分层
- 云知声使用 JuiceFS 建设超算平台分布式存储
- 深势科技使用 JuiceFS 实现多云 AI 科学计算平台建设
- 知乎使用 JuiceFS 给 Flink 容器启动加速
点击 此处 查看用户案例合集。
功能快速浏览
JuiceFS 是第一个完全插件式的分布式文件系统,元数据和数据都可以借助已有的成熟组件来实现,以应对丰富多变的企业环境和数据存储需求,目前支持 10 种以上元数据引擎 和 30 种以上数据存储引擎 。同时,JuiceFS 同时兼容 POSIX、 HDFS、S3、WebDAV 等访问协议,让数据不再成为孤岛,可以自由地在所有应用中流通。
除了稳定性之外,JuiceFS 还提升了全方面的数据安全保障:
- 数据存储加密,让文件内容加密存储在对象存储中,防止数据意外泄露
- 回收站,防止手抖误删除
- 元数据导入 & 导出 工具不仅方便备份,还可以做元数据引擎迁移
- 元数据自动备份,支持数据延迟删除,配合元数据备份,可以让数据「回到过去」,防止误更新
系统可观测性也在持续增强:
- 提供丰富的系统指标监控系统运行状态,通过 API 直接接入 Prometheus,预置的 Grafana 模版
- 通过客户端日志和访问日志,可以了解系统详情
- 文件元数据索引分析工具 juicefs info
- 性能实时诊断工具 juicefs profile
- 性能统计监控工具 juicefs stats
- 支持 Graphite 协议收集 Hadoop SDK 的监控数据
- 内置 Pyroscope 进行性能分析
还有丰富的管理工具:
- juicefs sync 在任意两个存储系统之间复制数据,相当于高性能 rsync/DistCp,支持丰富的访问协议
- juicefs warmup 可以为指定路径预热数据,提升读取性能
- juicefs rmr 快速删除指定目录
- juicefs config 可以在线修改文件系统配置
- juicefs fsck 可以检查文件系统完整性,找出可能损坏的文件
- juicefs gc 可以回收意外泄露的数据
- juicefs bench 简单的基准性能测试
- juicefs objbench 测试对象存储的访问权限和基准性能
拥抱开源
JuiceFS 在 2017 年以云服务的形式发布,经过三年的持续打磨和稳健运后,为了能让更多的开发者体验到这款产品的便捷,我们在 2021 年 1 月 11 日发布了插件化架构的 JuiceFS 社区版,并以每月发布一个测试版的速度持续迭代。
当听到一些社区用户反馈对 AGPLv3 的顾虑后,我们在2022年1月将 “AGPLv3 许可” 改为了 “Apache 2.0 许可”,让用户可以更放心地将 JuiceFS 应用于各种商业环境,并且根据自身的需要进行二次改进,也便于上下游的应用进行更进一步的融合,比如 Fluid 和 PaddlePaddle Operator 就已经将 JuiceFS 集成其中。
开源软件的发展离不开社区用户的共同努力,包括参与提交 issue、贡献 PR、分享文章、回答问题的每一位成员,在此向每一位参与者表示感谢!
未来规划
JuiceFS v1.0 是第一个长期维护( LTS)版本,我们会提供 24 个月的持续维护。
未来的版本会逐步实现以下这些功能(欢迎反馈):
- 支持 FoundationDB 做元数据引擎
- 录配额
- 用户和组配额
- POSIX ACL
- 快照
- WORM(Write Once Read Many)
在 JuiceFS 的持续迭代过程中,一直保持着向后兼容,希望新的改进能够更快地被用户使用,未来的版本发布也会兼容 v1.0 并提供平滑升级的方案。同时,JuiceFS v1.0 也为未来的版本做了一些向前兼容准备。
JuiceFS v1.0 正式发布,首个面向生产环境的 LTS 版本的更多相关文章
- JuiceFS v1.0.0 Beta1 发布,加强数据安全能力
在 JuiceFS 开源一周年之际,我们迎来了首个里程碑版本 JuiceFS v1.0.0 Beta1,并将开源许可从 AGPL v3 修改为 Apache License 2.0. JuiceFS ...
- JuiceFS V1.0 RC1 发布,大幅优化 dump/load 命令性能, 深度用户不容错过
各位社区的伙伴, JuiceFS v1.0 RC1 今天正式发布了!这个版本中,最值得关注的是对元数据迁移备份工具 dump/load 的优化. 这个优化需求来自于某个社区重度用户,这个用户在将亿级数 ...
- JuiceFS v1.0 beta3 发布,支持 etcd、Amazon MemoryDB、Redis Cluster
JuiceFS v1.0 beta3 在元数据引擎方面继续增强,新增 etcd 支持小于 200 万文件的使用场景,相比 Redis 可以提供更好的可用性和安全性.同时支持了 Amazon Memor ...
- MongoDB分片副本集生产环境部署-Windows版本
title: MongoDB分片副本集生产环境部署(Windows版本) date: 2022-10-29 17:21:11 tags: - 运维 系统架构 配置环境 系统都是windows 10 专 ...
- 面向生产环境的大集群模式安装Hadoop
一.实验说明 1.本实验将使用DNS而不是hosts文件解析主机名: 2.使用NFS共享密钥文件,而不是逐个手工拷贝添加密钥: 3.复制Hadoop时使用批量拷贝脚本而不是逐台复制. 测试环境: Ho ...
- vue-cli2.0和vue-cli3.0中当发布到生产环境时禁用console.log
vue-cli2.0中的方法 1.安装插件 npm install uglifyjs-webpack-plugin --save-dev 2.修改webpack.prod.conf.js配置文件 co ...
- SVN多分支开发模式V1.0.1
1目的 规范开发模式过程,指导项目研发.质控测试.DevOps的相关活动. 2适用范围 本规范的作用范围是为互联网软件产品相关项目开发模式的管理过程. (1) 对项目团队中研发人员在开发模式过程中 ...
- vue-cli 3.0 axios 跨域请求代理配置及生产环境 baseUrl 配置
1. 开发环境跨域配置 在 vue.config.js 文件中: module.exports = { runtimeCompiler: true, publicPath: '/', // 设置打包文 ...
- Demo客户端相关规范 v1.0
目录 开发环境 开发工具 代码管理 项目代码 分支管理 名称管理 打包管理 存储路径 存储结构 测试包 正式包 名称管理 依赖组件 内部组件 外部组件 解决方案结构 解决方案命名 解决方案文件夹 项目 ...
- Confluence 6 从生产环境中恢复一个测试实例
请参考 Restoring a Test Instance from Production 页面中的内容获得更多完整的说明. 很多 Confluence 的管理员将会使用生产实例运行完整数据和服务的 ...
随机推荐
- KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)(AB水题,C思维,D搜索,E DP)
补题链接:Here A - Century 整除 \(200\) 并且判断能否整除完全 B - 200th ABC-200 按题意即可 C - Ringo's Favorite Numbers 2 求 ...
- AtCoder Beginner Contest 176 (ABC水题,D题01BFS,E数组处理)
补题链接:Here A - Takoyaki 很容易看出 \(\frac{N + X - 1}{X} \times T\) B - Multiple of 9 给定一个很大的整数,问其是否是 \(9\ ...
- Java | 个人学习指南笔记
前言:由于作者已经有C语言,C++和Python语言的基础了,所以在文章的编写时会以这几门编程语言作对比.本文学习自 C语言中文网的 Java 教程,部分内容引用自这.引用内容仅作学习使用. 第1章: ...
- Java 多线程上下文传递在复杂场景下的实践
一.引言 海外商城从印度做起,慢慢的会有一些其他国家的诉求,这个时候需要我们针对当前的商城做一个改造,可以支撑多个国家的商城,这里会涉及多个问题,多语言,多国家,多时区,本地化等等.在多国家的情况下如 ...
- C语言基础之第一个C程序
前言 在开始学习 C 语言的基础知识之前,我们需要学习如何编写.编译和运行第一个 C 程序. 要编写第一个 C 程序,打开 C 控制台并编写以下代码,我这里直接使用vs2022进行代码的编写: #in ...
- 机器学习-线性分类-SVM支持向量机算法-12
目录 1. 铺垫 感知器算法模型 2. SVM 算法思想 3. 硬分割SVM总结 支持向量机(Support Vector Machine, SVM)本身是一个二元分类算法,是对感知器算法模型的一种扩 ...
- 一文搞清楚Java中的包、类、接口
写在开头 包.类.接口.方法.变量.参数.代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分. Java中的包 ...
- spring-transaction源码分析(4)AspectJ和spring-aspects模块
AspectJ是Java语言实现的一个面向切面编程的扩展库,能够基于一定的语法编写Aspect代码,使用ajc编译器将其编译成.class文件,之后在Java程序编写或加载时将Aspect逻辑嵌入到指 ...
- [转帖]InfluxDB 修改数据存储路径
1.创建数据存储目录 mkdir -p /home/data/influxdb 说明:目录可以根据实际情况进行修改. 2.设置目录访问权限 sudo chown influxdb.influxdb / ...
- [转帖]查看mysql分区名和各分区数据量
– 查看mysql分区名和各分区数据量 SELECT table_name, partition_name, table_rows FROM information_schema.PARTITIONS ...