JuiceFS Java 客户端参数配置
将以下配置参数加入到 Hadoop 配置文件 core-site.xml
中。
核心配置
配置项 | 默认值 | 描述 |
---|---|---|
fs.jfs.impl | com.juicefs.JuiceFileSystem | 指定 jfs:// 这个存储类型所使用的实现。 |
fs.AbstractFileSystem.jfs.impl | com.juicefs.JuiceFS | MR 等应用需要指定 AbstractFileSystem 的实现 |
juicefs.token | 访问 JuiceFS 的凭证,在控制台的设置页或者访问控制页可以看到。 | |
juicefs.accesskey | 对象存储的访问ID(Access Key ID)。如果计算节点已经有访问对象存储的权限,则无需提供。 | |
juicefs.secretkey | 对象存储的私钥 (Secret Access Key)。如果计算节点已经有访问对象存储的权限,则无需提供。 |
缓存配置
配置项 | 默认值 | 描述 |
---|---|---|
juicefs.cache-dir | 本地缓存目录,可以指定多个文件夹,用冒号 : 分隔,也可以使用通配符(比如 * )。通常应用没有权限创建这些目录,需要手动创建并给予 0777 权限,便于多个应用共享缓存数据 。 | |
juicefs.cache-size | 0 | 磁盘缓存容量,单位 MB。如果配置多个目录,这是所有缓存目录的空间总和。 |
juicefs.cache-replica | 1 | 磁盘缓存副本数。 |
juicefs.cache-group | 配置此项则使用 P2P cache,各个相同 group 之间的 JuiceFS 客户端可以共享缓存,推荐在主要使用 Spark 的环境使用此配置,因为 Spark 在单个任务处理多个小文件时,计算没有数据本地化。 | |
juicefs.cache-full-block | true | 是否缓存连续读数据,在磁盘空间有限或者磁盘性能低下的时候,设置为 false。 |
juicefs.memory-size | 300 | 预读最大使用内存量,单位 MB。 |
juicefs.auto-create-cache-dir | true | 是否自动创建缓存目录。为 false 时,它会忽略不存在的缓存目录。 |
juicefs.free-space | 0.2 | 最低剩余磁盘空间比例,当剩余磁盘空间低于这个比例时,它会清空缓存数据以释放空间,默认 20%。 |
juicefs.metacache | true | 是否启用元数据缓存。 |
juicefs.discover-nodes-url | 指定发现集群计算节点列表的方式,每 10 分钟刷新一次。YARN: yarnSpark Standalone:http://spark-master:web-ui-port/json/Spark ThriftServer:http://thrift-server:4040/api/v1/applications/Presto:http://coordinator:discovery-uri-port/v1/service/presto/ |
其他配置
配置项 | 默认值 | 描述 |
---|---|---|
juicefs.access-log | 访问日志的路径。需要所有应用都有写权限,可以配置为 /tmp/juicefs.access.log 。该文件会自动轮转,保留最近 7 个文件。 | |
juicefs.debug | false | 是否启用 Debug 级别的日志。 |
juicefs.max-uploads | 50 | 单进程写入对象存储最大并发数 |
juicefs.superuser | hdfs | 超级用户 |
juicefs.bucket | 指定存储桶名称 | |
juicefs.upload-limit | 0 | 单进程写入对象存储速度限制,单位 byte/s |
juicefs.object-timeout | 5 | 访问对象存储单次读请求的最长时间,单位 秒 |
juicefs.external | false | 是否使用公网域名访问对象存储 |
juicefs.rsaPrivKeyPath | 用于数据存储加密的 RSA 密钥路径 | |
juicefs.rsaPassphase | 用于数据存储加密的 RSA 密钥密码 | |
juicefs.file.checksum | false | 用于 hadoop distcp 时是否验证 checksum |
juicefs.grouping | 指定 group 文件放置位置,用来配置用户组和用户映射信息,推荐配置在 jfs://your-jfs-name/etc/group。文件内容格式:groupname:username1,username2 |
当使用多个 JuiceFS 文件系统时,上述所有配置项均可对单个文件系统指定,需要将文件系统名字 JFS_NAME
放在配置项的中间,比如:
<property>
<name>juicefs.{JFS_NAME}.token</name>
<value>xxx</value>
</property>