存储配置
JuiceFS
登录后可跨设备保存划线和私人笔记登录
本页介绍如何将 Hudi 与 JuiceFS 配合使用。
JuiceFS 配置
JuiceFS 是一个高性能分布式文件系统。任何存入 JuiceFS 的数据,其数据本身会持久化到对象存储(例如 Amazon S3)中,而与之对应的元数据则可根据场景需要持久化到 Redis、MySQL、TiKV 等多种数据库引擎中。
Hudi 与 JuiceFS 集成需要三项配置:
- 创建 JuiceFS 文件系统
- 为 Hudi 添加 JuiceFS 配置
- 将所需的 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 目录下。
评论
登录后参与评论
正在加载评论…
KnowForge