JuiceFS-开源分布式文件系统入门(一篇就够了)(下)

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: JuiceFS-开源分布式文件系统入门(一篇就够了)(下)

04 JuiceFS实战

step1: 客户端安装

去Github下载最新的客户端:https://github.com/juicedata/juicefs/releases

注意版本与操作系统的对应关系如下:

版本 系统
juicefs-x.x.x-darwin-amd64.tar.gz 面向 Intel 芯片的 macOS 系统
juicefs-x.x.x-darwin-arm64.tar.gz 面向 M1 系列芯片的 macOS 系统
juicefs-x.x.x-linux-amd64.tar.gz 面向 x86 架构 Linux 发行版
juicefs-x.x.x-linux-arm64.tar.gz 面向 ARM 架构的 Linux 发行版
juicefs-x.x.x-windows-amd64.tar.gz 面向 x86 架构的 Windows 系统
juicefs-hadoop-x.x.x-amd64.jar 面向 x86 架构的 Hadoop Java SDK(同时支持 Linux、macOS 及 Windows 系统)

如果assets资源文件里面没有内容,加载不出来,可以通过来查询下载资源的地址https://api.github.com/repos/juicedata/juicefs/releases/latest


当然也可以使用命令安装,会根据硬件架构自动下载安装最新版 JuiceFS 客户端:

curl -sSL https://d.juicefs.com/install | sh -

下载完成后,解压,使用命令:

juicefs version

可以看到已经安装好了。

step2: 创建文件系统

创建名为 miniofs 的文件系统,使用 Redis1 号数据库存储元数据:

juicefs format \
    --storage minio \
    --bucket http://endpoint地址:端口/rtc \
    --access-key minio的access-key \
    --secret-key minio的secret-key \
    "redis://:redis密码@redis地址:redis端口/数据库编号" \
    miniofs


在Redis数据库,可以看到key为settings的内容如下:


同时登录MinIO,在buck1桶下,可以看到创建了一些目录:

step3: 挂载文件系统

我们可以挂载文件目录到本地的桌面的data目录(如果提示没有权限,建议命令前加上sudo):

juicefs mount  "redis://:redis密码@redis地址:redis端口/数据库编号" /桌面地址/data

可以看到报错了,提示:

juicefs[89168] : fuse: fuse: no FUSE mount utility found [mount_unix.go:184]

这是由于系统没有安装FUSE 模块模块,所以需要下载安装,macOS系统下载地址:https://osxfuse.github.io/

安装好后,继续执行命令,也报错了,提示:

juicefs[92350] : The mount point is not ready in 10 seconds, exit it [mount_unix.go:56]

解决方式,打开安全性与隐私,解锁后,点击下图红框的运行。

继续执行命令,可以看到挂载成功了:

step4: 开始使用

详细使用参考:https://www.juicefs.com/docs/zh/community/guide/sync/

JuiceFS挂载好之后,我们可以正式的使用JuiceFS了,下面举个例子,使用同步命令,把MinIO里面的内容同步到本地的桌面的data目录,命令如下:

juicefs sync [command options] 源端地址 目的端地址
• 1

MinIO的地址格式为: minio://[ACCESS_KEY:SECRET_KEY[:TOKEN]@]ENDPOINT/BUCKET[/PREFIX]

示例如下:

我们打开指定的同步目录的上一级,可以看到产生了两个文件:

进去datauser看(其中user是桶下面的根目录名称),可以看到数据下载下来了。

进入dataminiofs看看,可以看到元数据也同步下来了:

对应MinIO桶的根目录下也有两个文件夹:

05 总结

5.1 命令总结

详情参考:https://www.juicefs.com/docs/zh/community/command_reference

上面举例的是只使用了JuiceFS的同步(sync)命令,如果想要知道更多的JuiceFS相关的命令,可以使用--help来搜索,整理如下:

用法juicefs [全局可选参数] command [命令选项] [命令参数...]

分类 命令 描述
全局可选参数 –verbose, --debug, -v 允许 debug 日志 (默认: false)
–quiet, -q 仅展示告警和错误 (默认: false)
–trace 允许 trace 日志 (默认: false)
–no-agent 禁止 pprof (:6060) 和 gops (:6070)代理 (默认: false)
–pyroscope value pyroscope地址
–no-color 禁止打印有颜色 (默认: false)
–help, -h 显示帮助 (默认: false)
–version, -V 打印版本 (默认: false)
命令选项 format 格式化目录卷
config 修改目录卷配置
destroy 销毁已存在的目录卷
gc 数据存储中对象的垃圾收集器
fsck 检查卷的一致性
dump 将元数据转储到JSON文件中
load 从以前转储的JSON文件加载元数据
version 展示版本
status 显示卷状态
stats 显示juicefs的实时性能统计信息
profile 显示在JuiceFS中完成的操作分析
info 显示路径或索引节点的内部信息
mount 挂载卷
umount 卸载卷
gateway 启动一个兼容s3的网关
webdav 启动WebDAV服务器
bench 在路径上运行基准测试
objbench 在对象存储上运行基准测试
warmup 为目标目录/文件构建缓存
rmr 递归删除目录
sync 两个对象存储之间的同步

5.2 常见错误总结

常见的错误,官网已经记录下来了,可以参考:https://www.juicefs.com/docs/zh/community/faq/

5.3 更多的使用案例

可以参考:

06 文末

本文主要讲解了JuiceFS的一些概念、架构以及实操的案例,希望能帮助到大家,谢谢大家的阅读,本文完!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
119 0
|
5月前
|
关系型数据库 分布式数据库 数据库
【PolarDB开源】PolarDB-X源码解读:分布式事务处理机制揭秘
【5月更文挑战第20天】PolarDB-X,PolarDB家族的一员,专注于大规模分布式事务处理,采用2PC协议保证ACID特性。源码解析揭示其通过预提交、一致性快照隔离和乐观锁优化事务性能,以及利用事务日志进行故障恢复。深入理解其事务处理机制对开发者掌握分布式数据库核心技术至关重要。随着开源社区的发展,更多优化方案将涌现,助力构建更强大的分布式数据库系统。
201 6
|
12天前
|
Dubbo Java 应用服务中间件
分布式-dubbo的入门
分布式-dubbo的入门
|
2月前
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与DistributedDataParallel:分布式训练入门指南
【8月更文第27天】随着深度学习模型变得越来越复杂,单一GPU已经无法满足训练大规模模型的需求。分布式训练成为了加速模型训练的关键技术之一。PyTorch 提供了多种工具来支持分布式训练,其中 DistributedDataParallel (DDP) 是一个非常受欢迎且易用的选择。本文将详细介绍如何使用 PyTorch 的 DDP 模块来进行分布式训练,并通过一个简单的示例来演示其使用方法。
37 2
|
3月前
|
存储 关系型数据库 MySQL
深度评测:PolarDB-X 开源分布式数据库的优势与实践
本文对阿里云开源分布式数据库 PolarDB-X 进行了详细评测。PolarDB-X 以其高性能、强可用性和出色的扩展能力在云原生数据库市场中脱颖而出。文章首先介绍了 PolarDB-X 的核心产品优势,包括金融级高可靠性、海量数据处理能力和高效的混合负载处理能力。随后,分析了其分布式架构设计,包括计算节点、存储节点、元数据服务和日志节点的功能分工。评测还涵盖了在 Windows 平台通过 WSL 环境部署 PolarDB-X 的过程,强调了环境准备和工具安装的关键步骤。使用体验方面,PolarDB-X 在处理分布式事务和实时分析时表现稳定,但在网络问题和性能瓶颈上仍需优化。最后,提出了改进建
6791 2
|
3月前
|
分布式计算 API 对象存储
Ray是一个开源的分布式计算框架,用于构建和扩展分布式应用。它提供了简单的API,使得开发者可以轻松地编写并行和分布式代码,而无需担心底层的复杂性。
Ray是一个开源的分布式计算框架,用于构建和扩展分布式应用。它提供了简单的API,使得开发者可以轻松地编写并行和分布式代码,而无需担心底层的复杂性。
354 11
|
3月前
|
关系型数据库 分布式数据库 数据库
PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。
【7月更文挑战第3天】PolarDB,阿里云的开源分布式数据库,与微服务相结合,提供灵活扩展和高效管理解决方案。通过数据分片和水平扩展支持微服务弹性,保证高可用性,且兼容MySQL协议,简化集成。示例展示了如何使用Spring Boot配置PolarDB,实现服务动态扩展。PolarDB缓解了微服务数据库挑战,加速了开发部署,为云原生应用奠定基础。
224 3
|
3月前
|
关系型数据库 分布式数据库 PolarDB
**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群
【7月更文挑战第3天】**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群。采用存储计算分离架构,适用于大规模OLTP和OLAP。先准备硬件和软件环境,包括Linux、Docker和Git。然后,克隆源码,构建Docker镜像,部署控制节点和计算节点。使用PDCli验证集群状态,开始探索PolarDB的高性能与高可用性。在实践中深化学习,贡献于数据库技术创新。记得在安全环境下测试。
168 1
|
4月前
|
存储 搜索推荐 Java
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
微服务SpringCloud ES分布式全文搜索引擎简介 下载安装及简单操作入门
58 2
|
5月前
|
人工智能 监控 开发者
阿里云PAI发布DeepRec Extension,打造稳定高效的分布式训练,并宣布开源!
阿里云人工智能平台PAI正式发布自研的 DeepRec Extension(即 DeepRec 扩展),旨在以更低成本,更高效率进行稀疏模型的分布式训练。
下一篇
无影云桌面