存储配置

JuiceFS

师成师成· 更新于 2026-09-29· 阅读 6 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

本页介绍如何将 Hudi 与 JuiceFS 配合使用。

JuiceFS 配置

JuiceFS 是一个高性能分布式文件系统。任何存入 JuiceFS 的数据,其数据本身会持久化到对象存储(例如 Amazon S3)中,而与之对应的元数据则可根据场景需要持久化到 Redis、MySQL、TiKV 等多种数据库引擎中。

Hudi 与 JuiceFS 集成需要三项配置:

  1. 创建 JuiceFS 文件系统
  2. 为 Hudi 添加 JuiceFS 配置
  3. 将所需的 JAR 添加到 classpath 中

创建 JuiceFS 文件系统

JuiceFS 支持多种元数据引擎,如 Redis、MySQL、SQLite 和 TiKV;同时几乎支持所有对象存储作为数据存储,例如 Amazon S3、Google Cloud Storage、Azure Blob Storage。

以下示例在 Linux 环境下,使用 Redis 作为「元数据引擎」,使用 Amazon S3 作为「数据存储」。

下载 JuiceFS 客户端

$ JFS_LATEST_TAG=$(curl -s https://api.github.com/repos/juicedata/juicefs/releases/latest | grep 'tag_name' | cut -d '"' -f 4 | tr -d 'v')
$ wget "https://github.com/juicedata/juicefs/releases/download/v${JFS_LATEST_TAG}/juicefs-${JFS_LATEST_TAG}-linux-amd64.tar.gz"

安装 JuiceFS 客户端

$ mkdir juice && tar -zxvf "juicefs-${JFS_LATEST_TAG}-linux-amd64.tar.gz" -C juice
$ sudo install juice/juicefs /usr/local/bin

格式化 JuiceFS 文件系统

$ juicefs format \
    --storage s3 \
    --bucket https://<bucket>.s3.<region>.amazonaws.com \
    --access-key <your-access-key-id> \
    --secret-key <your-access-key-secret> \
    redis://:<password>@<redis-host>:6379/1 \
    myjfs

欲了解更多信息,请参阅 "JuiceFS 快速入门指南"。

添加 Hudi 的 JuiceFS 配置

在 core-site.xml 中添加所需的配置,Hudi 将从中读取这些配置。

<property>
    <name>fs.defaultFS</name>
    <value>jfs://myjfs</value>
    <description>Optional, you can also specify full path "jfs://myjfs/path-to-dir" with location to use JuiceFS</description>
</property>
<property>
    <name>fs.jfs.impl</name>
    <value>io.juicefs.JuiceFileSystem</value>
</property>
<property>
    <name>fs.AbstractFileSystem.jfs.impl</name>
    <value>io.juicefs.JuiceFS</value>
</property>
<property>
    <name>juicefs.meta</name>
    <value>redis://:<password>@<redis-host>:6379/1</value>
</property>
<property>
    <name>juicefs.cache-dir</name>
    <value>/path-to-your-disk</value>
</property>
<property>
    <name>juicefs.cache-size</name>
    <value>1024</value>
</property>
<property>
    <name>juicefs.access-log</name>
    <value>/tmp/juicefs.access.log</value>
</property>

你可以访问这里获取更多配置信息。

添加 JuiceFS Hadoop Java SDK

你可以从这里下载最新版 JuiceFS Hadoop Java SDK(下载类似 juicefs-hadoop-X.Y.Z-linux-amd64.jar 的文件),并将其放置到 classpath 中。你也可以自行编译。

例如,如果你在 Spark 中使用 Hudi,请将该 JAR 放置于 $SPARK_HOME/jars 目录下。

评论

登录后参与评论

正在加载评论…