Alluxio
ProductsLanguageHome
AI-3.6 (stable)
AI-3.6 (stable)
  • 概览
    • Alluxio 命名空间和底层文件系统
    • worker管理与一致性哈希
    • 多租户和统一管理
    • I/O弹性
  • 部署Alluxio
    • 资源需求和兼容性
    • 安装
      • 在Kubernetes上安装Alluxio
      • 镜像管理
      • 高级配置
      • 许可证
    • 监控和指标
    • 管理控制台
      • 部署
      • 导航控制台
      • 用户角色与访问控制
    • 集群管理
    • 系统健康检查和快速恢复
    • 诊断快照
  • 底层存储系统
    • Amazon AWS S3
    • Azure Blob Store
    • HDFS
    • 阿里云 OSS
    • 腾讯 COS
    • 火山引擎 TOS
    • 谷歌云 GCS
    • 百度智能云对象存储 BOS
    • 网络附加存储 NAS
  • 数据访问
    • 通过 FUSE( POSIX API)访问
      • Client 写回
      • 客户端虚拟路径映射
    • 通过S3 API访问
    • 通过 PythonSDK/FSSpec 访问
    • UFS 带宽限制器
    • 高可用性数据访问
      • 多副本
      • 多可用区(AZ)
    • 性能优化
      • 文件读取
      • 写入文件
      • 元数据列表
  • 缓存管理
    • 缓存加载
    • 缓存过滤策略
    • 缓存驱逐
      • 通过TTL (有效时间)策略自动驱逐缓存
      • 优先级规则
      • 通过Free命令手动驱逐
    • 过期缓存清理
    • 缓存配额
  • 性能基准测试
    • Fio (POSIX)基准
    • MLPerf Storage 基准测试
    • COSBench (S3) 性能基准测试
  • 安全
    • TLS 支持
  • 参考
    • 用户命令行接口
    • 指标
    • REST API
    • S3 API 的使用
    • 第三方授权
  • 版本发布说明
Powered by GitBook
On this page
  • Coordinator
  • 分布式加载
  • 清理缓存(Free Cache)
  • 重平衡(Rebalance)
  • 清理过期缓存(Clear Stale Cache)
  • 挂载表
  • 配额
  • TTL
  • 优先级驱逐
  • 节点管理
  • 全局文件索引
  1. 参考

REST API

Coordinator

Coordinator 上的 API 主要用于作业管理、配置管理以及集群管理。

分布式加载

列出所有加载作业

方法: GET

路径: /api/v1/load

参数: 无

响应:

  • 200 - OK: 操作成功

    {
      "results": [
        {...}
      ]
    }

    了解更多作业信息,请参阅“获取加载作业进度” 。

  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

获取加载作业进度

方法: GET

路径: /api/v1/load

参数:

名称

描述

id

由 POST 请求返回的作业 id

响应:

  • 200 - OK: 操作成功(空值将被省略)

    {
      "id": "54b88939-de49-46ef-acab-fe489f46d1a0",
      "startTime": "2024-11-21T20:58:26.957+08:00",
      "state": "SUCCEEDED",
      "runningState": "",
      "errorMessage": {},
      "failedFileListPath": "",
      "paths": [
        "s3://my-bucket/dir/to/path"
      ],
      "index": "",
      "skipIfExists": false,
      "loadMetadataOnly": false,
      "verify": false,
      "bandwidth": 0,
      "timeElapsedMilliseconds": 10949,
      "loadedBytes": 10485760,
      "skippedBytes": 0,
      "totalBytes": 10485760,
      "loadedNonEmptyFiles": 1,
      "failedFiles": 0,
      "scannedFiles": 1,
      "quota": {
        "totalBytes": 0,
        "remaining": 0
      }
      "quotaCheckError": ""
    }
  • 404 - Not Found: 未找到作业

    {
      "status": "No job found..."
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

提交或恢复加载作业

方法: POST

路径: /api/v1/load

参数: 无

请求体 : Content-Type: application/json

最多只需提供一个参数。

名称

描述

paths

要加载的 UFS 路径列表

index

UFS 上索引文件的路径(必须已挂载)

可以使用 options JSON 来配置加载作业的选项。所有选项均为可选项。可配置项包括:

名称

描述

batchSize

Worker 从 UFS 加载数据时使用的批处理大小

fileFilterRegex

筛选要加载文件的正则表达式

replicas

要加载的副本数量,默认值为 1。如果启用了多副本功能,可以通过此参数指定所需的副本数。

skipIfExists

如果文件已存在,则跳过加载过程

sync

作业是否需要同步执行并获取执行结果

JSON 请求负载示例如下:

{
  "paths": [
    "s3://my-bucket/dir/to/path"
  ],
  "options": {
    "batchSize": 0,
    "fileFilterRegx": "",
    "replicas": 0,
    "sync": true,
    "skipIfExists": false
  }
}

响应:

  • 200 - OK: 操作成功

    {
      "id": "54b88939-de49-46ef-acab-fe489f46d1a0"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 409 - Conflict: 使用相同路径恢复加载作业,并返回之前的作业 id

    {
      "id": "54b88939-de49-46ef-acab-fe489f46d1a0"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

停止加载作业

方法: DELETE

路径: /api/v1/load

参数: 无

请求体: Content-Type: application/json

{
  "id": "54b88939-de49-46ef-acab-fe489f46d1a0"
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 410 - Gone: 该作业不存在或已完成

    {
      "status": "The job doesn't exist or has already finished"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

清理缓存(Free Cache)

列出所有清理缓存的作业

方法: GET

路径: /api/v1/free

参数: 无

响应:

  • 200 - OK: 操作成功

    {
      "results": [
        {...}
      ]
    }

    有关作业的更多信息,请参阅 “获取清理缓存作业进度”。

  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

获取清理缓存作业进度

方法: GET

路径: /api/v1/free

参数:

名称

描述

id

由 POST 请求返回的作业 id

响应:

  • 200 - OK: 操作成功 (空值将被省略)

    {
      "id": "464050c3-9900-4b2f-8716-9220cd5eb495",
      "startTime": "2024-11-21T21:21:55.764+08:00",
      "state": "SUCCEEDED",
      "errorMessage": {},
      "paths": [
        "s3://my-bucket/dir/to/path"
      ],
      "timeElapsedMilliseconds": 4197,
      "freedBytes": 10485760,
      "failedBytes": 0,
      "totalBytes": 10485760,
      "freedFiles": 1,
      "failedFiles": 0,
      "totalFiles": 10485760
    }
  • 404 - Not Found: 未找到作业

    {
      "status": "No job found..."
    }
  • 500 - Internal Server Error:意外错误

    {
      "status": "string"
    }

提交或恢复清理缓存作业

方法: POST

路径: /api/v1/free

参数: 无

请求体: Content-Type: application/json

最多只需提供一个参数。

名称

描述

paths

要加载的 UFS 路径列表

index

UFS 上索引文件的路径(必须已挂载)

JSON 请求负载示例如下:

{
  "paths": [
    "s3://my-bucket/dir/to/path"
  ],
  "index": "",
  "options": {
    "batchSize": 0,
    "sync": true,
    "recursive": true
  }
}

响应:

  • 200 - OK: 操作成功

    {
      "id": "464050c3-9900-4b2f-8716-9220cd5eb495"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 409 - Conflict: 使用相同路径恢复清理缓存作业,并返回之前的作业 id

    {
      "id": "464050c3-9900-4b2f-8716-9220cd5eb495"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

停止清理缓存作业

方法: DELETE

路径: /api/v1/free

参数: 无

请求体: Content-Type: application/json

{
  "id": "464050c3-9900-4b2f-8716-9220cd5eb495"
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 410 - Gone: 该作业不存在或已完成

    {
      "status": "The job doesn't exist or has already finished"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

重平衡(Rebalance)

列出所有重平衡作业

方法: GET

路径: /api/v1/rebalance

参数: 无

响应:

  • 200 - OK: 操作成功

    {
      "results": [
        {...}
      ]
    }

    有关作业的更多信息,请参阅“获取重平衡作业进度”。

  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

获取重平衡作业进度

方法: GET

路径: /api/v1/rebalance

参数:

最多只需提供一个参数。

名称

描述

id

由 POST 请求返回的作业 id

target

重平衡作业的目标 Worker,可以是指定的 worker id(例如:worker-54b88939-de49-46ef-acab-fe489f46d1a0)或者ALL(表示所有 Worker)

响应:

  • 200 - OK: 操作成功 (空值将被省略)

    {
       "succeededWorkers":2,
       "bytesPreserved":4,
       "filesLoaded":0,
       "filesPreserved":1,
       "filesFailed":0,
       "totalWorkers":2,
       "bytesPruned":226,
       "filesPruned":5,
       "bytesLoaded":0,
       "timeElapsedMilliseconds":4536,
       "runningWorkers":0,
       "startTime":"2024-12-19T23:15:07.043+08:00",
       "id":"8de63d3a-63c8-4f08-bbc1-c87e3c0fb6d9",
       "state":"SUCCEEDED",
       "failedWorkers":0
    }
  • 404 - Not Found: 未找到作业

    {
      "status": "No job found..."
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

提交或恢复重平衡作业

方法: POST

路径: /api/v1/rebalance

参数: 无

请求体: Content-Type: application/json

必填字段

名称

描述

target

重平衡作业的目标 Worker,可以是指定的 worker id(例如:worker-54b88939-de49-46ef-acab-fe489f46d1a0)或者ALL(表示所有 Worker)。

可以使用 options JSON 来配置加载作业的选项。所有选项均为可选项。可配置项包括:

名称

描述

loadBatchSize

加载阶段的批处理大小,与加载作业中的 batchSize 选项相同

loadBandwidth

每个 Worker 每秒的加载带宽(单位:字节),例如:10485746000...

pruneBandwidth

每个 Worker 每秒的清理(prune)带宽(单位:字节),例如:10485746000...

skipPrune

是否仅执行数据加载,跳过清理不属于该 Worker(s) 的数据

JSON 请求负载示例如下:

{
  "target": "ALL",
  "options": {
    "loadBatchSize": 1000,
    "loadBandwidth": 10485746000,
    "pruneBandwidth": 10485746000,
    "skipPrune": false,
  }
}

响应:

  • 200 - OK: 操作成功

    {
      "id": "54b88939-de49-46ef-acab-fe489f46d1a0"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 409 - Conflict: 使用相同路径恢复清理缓存作业,并返回之前的作业 id

    {
      "id": "54b88939-de49-46ef-acab-fe489f46d1a0"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

停止重平衡作业

方法: DELETE

路径: /api/v1/rebalance

参数: 无

请求体: Content-Type: application/json

最多只需提供一个参数。

名称

描述

id

由 POST 请求返回的作业 id

target

重平衡作业的目标 Worker,可以是指定的 worker id(例如:worker-54b88939-de49-46ef-acab-fe489f46d1a0)或者ALL(表示所有 Worker)。

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 410 - Gone: 该作业不存在或已完成

    {
      "status": "The job doesn't exist or has already finished"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

清理过期缓存(Clear Stale Cache)

  • Free Cache 需要输入文件或目录列表,指定需要从 Worker 节点释放(清理)的缓存内容。Clear Stale Cache 不需要输入参数,系统会自动扫描 Worker 缓存存储,并结合当前的一致性哈希环判断哪些缓存是“过期”的。

  • Free Cache 需要正确设置副本数,否则在启用文件副本功能时,可能会释放少于预期的副本数量。Clear Stale Cache 操作会向集群中所有 Worker 广播命令,无论副本数量多少,都会触发所有 Worker 上过期缓存的清理。

开始清理过期缓存

方法: POST

路径: /api/v1/cache

参数:无

请求体: Content-Type: application/json

{
  "op": "clear-stale"
}

响应:

  • 200 - OK: 空的 errors 对象表示该操作已成功提交给所有 Worker 执行。

    {
      "errors": {}
    }
  • 200 - OK: 非空的 errors 对象表示该操作未能成功提交给至少一个 Worker 执行

    {
      "errors": {
        "worker-host": "error message"
      }
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }
  • 501 - Not Implemented: 指定的操作类型尚未实现

    {
      "status": "OP not implemented"
    }

停止清理过期缓存

方法: DELETE

路径: /api/v1/cache

参数:无

请求体: Content-Type: application/json

{
  "op": "clear-stale"
}

响应:

  • 200 - OK: 空的 errors 对象表示所有 Worker 均已成功接收到停止清理过期缓存的通知

    {
      "errors": {}
    }
  • 200 - OK: 非空的 errors 对象表示coordinator未能成功通知至少一个 Worker 停止清理过期缓存

    {
      "errors": {
        "worker-host": "error message"
      }
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }
  • 501 - Not Implemented: 指定的操作类型尚未实现

    {
      "status": "OP not implemented"
    }

挂载表

列出挂载点

方法: GET

路径: /api/v1/mount

参数: 无

响应:

  • 200 - OK: 操作成功(空选项将被省略)

    {
      "results": [
        {
          "path": "/data/",
          "ufs": "s3://my-bucket/",
          "options": {
            "s3a.secretKey": "string",
            "s3a.accessKeyId": "string"
          }
        }
      ]
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

获取挂载点信息

方法: GET

路径: /api/v1/mount

参数:

名称

描述

path

挂载点对应的 Alluxio 路径

响应:

  • 200 - OK: 操作成功(空选项将被省略)

    {
      "path": "/data/",
      "ufs": "s3://my-bucket/",
      "options": {
        "s3a.secretKey": "string",
        "s3a.accessKeyId": "string"
      }
    }
  • 404 - Not Found: 未找到挂载点

    {
      "status": "No mount point found for path: /data/"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

创建挂载点

方法: POST

路径: /api/v1/mount

参数: 无

请求体: Content-Type: application/json

{
  "path": "/data",
  "ufs": "s3://my-bucket",
  "options": {
    "s3a.secretKey": "string",
    "s3a.accessKeyId": "string"
  }
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 409 - Conflict: 该路径已被挂载,或者UFS已挂载到其他路径

    {
      "status": "string"
    }
  • 501 - Not Implemented: 挂载表不支持通过 API 管理(例如:静态文件挂载表)

    {
      "status": "string"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

删除挂载点

方法: DELETE

路径: /api/v1/mount

参数: 无

请求体: Content-Type: application/json

{
  "path": "/data"
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 410 - Gone: 该路径未挂载到任何UFS

    {
      "status": "string"
    }
  • 501 - Not Implemented: 挂载表不支持通过 API 管理(例如:静态文件挂载表)

    {
      "status": "string"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

配额

列出所有配额状态

方法: GET

路径: /api/v1/quota

参数: 无

响应:

  • 200 - OK: 操作成功

    {
      "results": [
        {
          "path": "/data/dir/to/path",
          "state": "Available",
          "quotaBytes": 10737418240,
          "usedBytes": 9663676416,
          "reservedBytes": 1073741824
        }
      ]
    }
  • 501 - Not Implemented: 配额功能未启用

    {
      "status": "Quota not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

获取配额状态

方法: GET

路径: /api/v1/quota

参数:

名称

描述

path

数据对应的 Alluxio 路径

响应:

  • 200 - OK: 操作成功

    {
      "path": "/data/dir/to/path",
      "state": "Available",
      "quotaBytes": 10737418240,
      "usedBytes": 9663676416,
      "reservedBytes": 1073741824
    }
  • 404 - Not Found: 未找到配额

    {
      "status": "No quota item found for path: /data/dir/to/path"
    }
  • 501 - Not Implemented: 配额功能未启用

    {
      "status": "Quota not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

添加或更新配额

方法: POST

路径: /api/v1/quota

参数: 无

请求体: Content-Type: application/json

{
  "path": "/data/dir/to/path",
  "quotaBytes": 10737418240
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 400 - Bad Request: 该路径未指向已挂载的UFS,但必须绑定到现有的 UFS上

    {
      "status": "No mounted UFS found"
    }
  • 501 - Not Implemented: 配额功能未启用

    {
      "status": "Quota not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

删除配额

方法: DELETE

路径: /api/v1/quota

参数: 无

请求体: Content-Type: application/json

{
  "path": "/data/dir/to/path"
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 400 - Bad Request: 未找到配额或发生其他问题

    {
      "status": "string"
    }
  • 501 - Not Implemented: 配额功能未启用

    {
      "status": "Quota not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

TTL

列出所有 TTL 策略

方法: GET

路径: /api/v1/ttl

参数: 无

响应:

  • 200 - OK: 操作成功

    {
      "results": [
        {
          "path": "/data/dir/to/path",
          "ttlSeconds": 600
        }
      ]
    }
  • 501 - Not Implemented: TTL 策略未启用

    {
      "status": "TTL not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

获取 TTL 策略

方法: GET

路径: /api/v1/ttl

参数:

名称

描述

path

数据对应的 Alluxio 路径

响应:

  • 200 - OK: 操作成功

    {
      "path": "/data/dir/to/path",
      "ttlSeconds": 600
    }
  • 404 - Not Found: 未找到 TTL 策略

    {
      "status": "No TTL policy found for path: /data/dir/to/path"
    }
  • 501 - Not Implemented: TTL 策略未启用

    {
      "status": "TTL not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

添加或更新 TTL 策略

方法: POST

路径: /api/v1/ttl

参数:无

请求体: Content-Type: application/json

{
  "path": "/data/dir/to/path",
  "ttlSeconds": 600
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 400 - Bad Request: 该路径未指向已挂载的UFS,但必须绑定到现有的 UFS上

    {
      "status": "No mounted UFS found"
    }
  • 501 - Not Implemented: TTL 策略未启用

    {
      "status": "TTL not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

删除 TTL 策略

方法: DELETE

路径: /api/v1/ttl

参数: 无

请求体: Content-Type: application/json

{
  "path": "/data/dir/to/path"
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 400 - Bad Request: 未找到 TTL 策略

    {
      "status": "string"
    }
  • 501 - Not Implemented: TTL 策略未启用

    {
      "status": "TTL not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

优先级驱逐

列出所有优先级驱逐策略

方法: GET

路径: /api/v1/priority

参数: 无

响应:

  • 200 - OK: 操作成功

    {
      "results": [
        {
          "path": "/data/dir/to/path",
          "priority": "high"
        }
      ]
    }
  • 501 - Not Implemented: 优先级驱逐功能未启用

    {
      "status": "Priority eviction not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

获取优先级驱逐策略

方法: GET

路径: /api/v1/priority

参数:

名称

描述

path

数据对应的 Alluxio 路径

响应:

  • 200 - OK: 操作成功

    {
      "path": "/data/dir/to/path",
      "priority": "high"
    }
  • 404 - Not Found: 未找到优先级驱逐策略

    {
      "status": "No priority rule found for path: /data/dir/to/path"
    }
  • 501 - Not Implemented: 优先级驱逐功能未启用

    {
      "status": "Priority eviction not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

添加或更新优先级驱逐策略

方法: POST

路径: /api/v1/priority

参数: 无

请求体: Content-Type: application/json

{
  "path": "/data/dir/to/path",
  "priority": "high"
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 400 - Bad Request: 优先级字符串格式错误或存在其他问题

    {
      "status": "string"
    }
  • 501 - Not Implemented: 优先级驱逐功能未启用

    {
      "status": "Priority eviction not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

删除优先级驱逐策略

方法: DELETE

路径: /api/v1/priority

参数: 无

请求体: Content-Type: application/json

{
  "path": "/data/dir/to/path"
}

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 400 - Bad Request: 请求中没有包含请求体或缺少必填字段

    {
      "status": "Required parameters not provided"
    }
  • 501 - Not Implemented: 优先级驱逐功能未启用

    {
      "status": "Priority eviction not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

节点管理

列出所有节点

方法:GET

路径: /api/v1/nodes

参数: 无

响应:

  • 200 - OK: 操作成功

    {
      "result": [
        {
          "identity": "worker-587899dd-5da5-45d4-af40-ce481acc4087",
          "address": "192.168.1.19:29989",
          "status": "ONLINE"
        },
        {
          "identity": "worker-844db66c-d7fd-46cc-8de0-2f3989360828",
          "address": "192.168.1.19:29999",
          "status": "OFFLINE"
        }
      ]
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

查询节点信息

方法: GET

路径: /api/v1/nodes

参数:

名称

描述

id

worker id (例如 worker-587899dd-5da5-45d4-af40-ce481acc4087)

响应:

  • 200 - OK: 操作成功 (空值将被省略)

    {
      "identity": "worker-587899dd-5da5-45d4-af40-ce481acc4087",
      "address": "192.168.1.19:29989",
      "status": "ONLINE"
    }
  • 404 - Not Found: 未找到 worker 节点

    {
      "status": "worker not found..."
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

注销节点 (从 etcd 中删除节点)

方法: DELETE

路径: /api/v1/nodes

参数:

名称

描述

id

worker id (例如 worker-587899dd-5da5-45d4-af40-ce481acc4087)

响应:

  • 200 - OK: 操作成功

    {
      "status": "ok"
    }
  • 404 - Not Found: 未找到 worker 节点

    {
      "status": "worker not found..."
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

全局文件索引

列出所有节点

方法: GET

路径: /api/v1/file_index

参数: 无

响应:

  • 200 - OK: 操作成功

    {
      "results": [
        "file:///home/yimin/alluxio/ufs/10MB",
        "file:///home/yimin/alluxio/ufs/to_load/f1"
      ]
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

将文件添加到全局索引

方法: POST

路径: /api/v1/file_index

参数: 无

请求体: Content-Type: application/json

{
  "files": [
    "s3://foo/bar/f1",
    "s3://foo/bar/f2"
  ]
}

响应:

  • 200 - OK: 操作成功 (添加到索引的条目数)

    {
      "entries": 10
    }
  • 404 - Not Found: 功能未启用

    {
      "status": "Global file index is not enabled"
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

将文件从全局文件索引中移除

方法: DELETE

路径: /api/v1/file_index

参数: 无

请求体: Content-Type: application/json

{
  "files": [
    "s3://foo/bar/f1",
    "s3://foo/bar/f2"
  ]
}

响应:

  • 200 - OK: 操作成功 (从索引中移除的条目数)

    {
      "entries": 10
    }
  • 404 - Not Found: 功能未启用

    {
      "status": "worker not found..."
    }
  • 500 - Internal Server Error: 意外错误

    {
      "status": "string"
    }

Last updated 1 day ago

该操作与(Free Cache)操作有所不同:

清理缓存