Alluxio
ProductsLanguageHome
DA-3.5 (stable)
DA-3.5 (stable)
  • 概览
  • 部署Alluxio
    • 资源需求和兼容性
    • 在Kubernetes上安装Alluxio
    • 监控和指标
    • Alluxio 集群操作
    • 系统健康检查和快速恢复
    • 采集集群信息
  • 架构
    • Alluxio 命名空间和底层文件系统命名空间
    • I/O弹性
    • worker管理与一致性哈希
  • 底层存储系统
    • Amazon AWS S3
    • HDFS
    • 腾讯 COS
  • 计算集成
    • 在 K8s 上运行 Trino
    • 在 K8s 上运行 Spark
    • 数据湖连接器
  • Client APIs
    • S3 API
    • Java HDFS 兼容 API
  • 缓存操作
    • 缓存预加载
    • 缓存过滤
    • 缓存驱逐
      • TTL (有效时间)规则
      • 优先级规则
      • 通过命令行释放缓存空间
  • 资源管理
    • 基于目录的集群配额
    • UFS 带宽限制
  • 性能优化
    • 通过副本提高读取吞吐量
    • 读取大文件
    • 元数据列表
    • 数据预拉取
  • 安全
    • TLS 支持
    • Apache Ranger 集成
  • 参考
    • 用户命令行接口
    • 指标
    • S3 API Usage
    • 第三方证书
  • 版本发布说明
Powered by GitBook
On this page
  • 使用方法
  • 任务加载 CLI
  • REST API
  1. 缓存操作

缓存预加载

Last updated 1 month ago

分布式加载允许用户高效地将数据从 UFS 加载到 Alluxio 集群。 这可用于初始化 Alluxio 集群,以便在 Alluxio 上运行工作负载时能够立即提供缓存数据。 例如,分布式加载可用于为机器学习作业预取数据,从而加快训练过程。 分布式加载可利用 和来加强高并发数据访问场景中的文件分发。

使用方法

有两种触发分布式加载的推荐方法:

任务加载 CLI

任务加载命令可用于将数据从 UFS(底层文件系统)加载到 Alluxio 集群。 CLI 会向 Alluxio coordinator 发送加载请求,coordinator 随后会将加载操作分发到所有 worker 节点。

bin/alluxio job load [flags] <path>

# 输出示例
Progress for loading path '/path':
        Settings:       bandwidth: unlimited    verify: false
        Job State: SUCCEEDED
        Files Processed: 1000
        Bytes Loaded: 125.00MB
        Throughput: 2509.80KB/s
        Block load failure rate: 0.00%
        Files Failed: 0

有关 CLI 的详细用法,请参阅 文档。

REST API

与 CLI 类似,REST API 也可用于加载数据。 请求直接发送到coordinator。

curl -H "Content-Type: application/json"  -v -X POST http://coordinator_host:19999/api/v1/master/submit_job/load -d '{
    "path": "s3://alluxiow/testm/dir-1/",
    "options": {
         "replicas":"2",
         "batchSize": "300",
         "partialListing": "true",
         "loadMetadataOnly": "true",
         "skipIfExists": "true"
    }
}'

可以通过发送路径相同的 GET 请求查询参数来检查进度。

curl -H "Content-Type: application/json"  -v -X GET http://coordinator_host:19999/api/v1/master/progress_job/load -d '{
  "path or indexFile": "s3://bucket/dir-1/",
  "format": "TEXT[default] | JSON",
  "verbose": "true"
}'

可以通过相同路径发送 POST 请求来终止加载操作。

curl -H "Content-Type: application/json"  -v -X POST http://coordinator_host:19999/api/v1/master/stop_job/load -d '{
  "path || indexFile": "s3://alluxiow/testm/dir-1/"
}'

查询load任务列表,结果仅包含七天内的load任务, 历史任务驻留时间可以通过alluxio.job.retention.time配置。

curl http://ip:19999/api/v1/master/list_job?[job-type=LOAD[&job-state=[RUNNING|VERIFYING|STOPPED|SUCCEEDED|FAILED|ALL]]
文件分割
多重复制
job load