REST API
Coordinator
Coordinator 上的 API 主要用于作业管理、配置管理以及集群管理。
分布式加载
列出所有加载作业
方法: GET
路径: /api/v1/load
参数: 无
响应:
200 - OK
: 操作成功了解更多作业信息,请参阅“获取加载作业进度” 。
500 - Internal Server Error
: 意外错误
获取加载作业进度
方法: GET
路径: /api/v1/load
参数:
名称
描述
id
由 POST 请求返回的作业 id
响应:
200 - OK
: 操作成功(空值将被省略)404 - Not Found
: 未找到作业500 - Internal Server Error
: 意外错误
提交或恢复加载作业
方法: POST
路径: /api/v1/load
参数: 无
请求体 : Content-Type: application/json
最多只需提供一个参数。
名称
描述
paths
要加载的 UFS 路径列表
index
UFS 上索引文件的路径(必须已挂载)
可以使用 options
JSON 来配置加载作业的选项。所有选项均为可选项。可配置项包括:
名称
描述
batchSize
Worker 从 UFS 加载数据时使用的批处理大小
fileFilterRegex
筛选要加载文件的正则表达式
replicas
要加载的副本数量,默认值为 1。如果启用了多副本功能,可以通过此参数指定所需的副本数。
skipIfExists
如果文件已存在,则跳过加载过程
sync
作业是否需要同步执行并获取执行结果
JSON 请求负载示例如下:
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段409 - Conflict
: 使用相同路径恢复加载作业,并返回之前的作业 id500 - Internal Server Error
: 意外错误
停止加载作业
方法: DELETE
路径: /api/v1/load
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段410 - Gone
: 该作业不存在或已完成500 - Internal Server Error
: 意外错误
清理缓存(Free Cache)
列出所有清理缓存的作业
方法: GET
路径: /api/v1/free
参数: 无
响应:
200 - OK
: 操作成功有关作业的更多信息,请参阅 “获取清理缓存作业进度”。
500 - Internal Server Error
: 意外错误
获取清理缓存作业进度
方法: GET
路径: /api/v1/free
参数:
名称
描述
id
由 POST 请求返回的作业 id
响应:
200 - OK
: 操作成功 (空值将被省略)404 - Not Found
: 未找到作业500 - Internal Server Error
:意外错误
提交或恢复清理缓存作业
方法: POST
路径: /api/v1/free
参数: 无
请求体: Content-Type: application/json
最多只需提供一个参数。
名称
描述
paths
要加载的 UFS 路径列表
index
UFS 上索引文件的路径(必须已挂载)
JSON 请求负载示例如下:
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段409 - Conflict
: 使用相同路径恢复清理缓存作业,并返回之前的作业 id500 - Internal Server Error
: 意外错误
停止清理缓存作业
方法: DELETE
路径: /api/v1/free
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段410 - Gone
: 该作业不存在或已完成500 - Internal Server Error
: 意外错误
重平衡(Rebalance)
列出所有重平衡作业
方法: GET
路径: /api/v1/rebalance
参数: 无
响应:
200 - OK
: 操作成功有关作业的更多信息,请参阅“获取重平衡作业进度”。
500 - Internal Server Error
: 意外错误
获取重平衡作业进度
方法: GET
路径: /api/v1/rebalance
参数:
最多只需提供一个参数。
名称
描述
id
由 POST 请求返回的作业 id
target
重平衡作业的目标 Worker,可以是指定的 worker id(例如:worker-54b88939-de49-46ef-acab-fe489f46d1a0
)或者ALL
(表示所有 Worker)
响应:
200 - OK
: 操作成功 (空值将被省略)404 - Not Found
: 未找到作业500 - Internal Server Error
: 意外错误
提交或恢复重平衡作业
方法: 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 请求负载示例如下:
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段409 - Conflict
: 使用相同路径恢复清理缓存作业,并返回之前的作业 id500 - Internal Server Error
: 意外错误
停止重平衡作业
方法: 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
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段410 - Gone
: 该作业不存在或已完成500 - Internal Server Error
: 意外错误
清理过期缓存(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
响应:
200 - OK
: 空的 errors 对象表示该操作已成功提交给所有 Worker 执行。200 - OK
: 非空的 errors 对象表示该操作未能成功提交给至少一个 Worker 执行400 - Bad Request
: 请求中没有包含请求体或缺少必填字段500 - Internal Server Error
: 意外错误501 - Not Implemented
: 指定的操作类型尚未实现
停止清理过期缓存
方法: DELETE
路径: /api/v1/cache
参数:无
请求体: Content-Type: application/json
响应:
200 - OK
: 空的 errors 对象表示所有 Worker 均已成功接收到停止清理过期缓存的通知200 - OK
: 非空的 errors 对象表示coordinator未能成功通知至少一个 Worker 停止清理过期缓存400 - Bad Request
: 请求中没有包含请求体或缺少必填字段500 - Internal Server Error
: 意外错误501 - Not Implemented
: 指定的操作类型尚未实现
挂载表
列出挂载点
方法: GET
路径: /api/v1/mount
参数: 无
响应:
200 - OK
: 操作成功(空选项将被省略)500 - Internal Server Error
: 意外错误
获取挂载点信息
方法: GET
路径: /api/v1/mount
参数:
名称
描述
path
挂载点对应的 Alluxio 路径
响应:
200 - OK
: 操作成功(空选项将被省略)404 - Not Found
: 未找到挂载点500 - Internal Server Error
: 意外错误
创建挂载点
方法: POST
路径: /api/v1/mount
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段409 - Conflict
: 该路径已被挂载,或者UFS已挂载到其他路径501 - Not Implemented
: 挂载表不支持通过 API 管理(例如:静态文件挂载表)500 - Internal Server Error
: 意外错误
删除挂载点
方法: DELETE
路径: /api/v1/mount
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段410 - Gone
: 该路径未挂载到任何UFS501 - Not Implemented
: 挂载表不支持通过 API 管理(例如:静态文件挂载表)500 - Internal Server Error
: 意外错误
配额
列出所有配额状态
方法: GET
路径: /api/v1/quota
参数: 无
响应:
200 - OK
: 操作成功501 - Not Implemented
: 配额功能未启用500 - Internal Server Error
: 意外错误
获取配额状态
方法: GET
路径: /api/v1/quota
参数:
名称
描述
path
数据对应的 Alluxio 路径
响应:
200 - OK
: 操作成功404 - Not Found
: 未找到配额501 - Not Implemented
: 配额功能未启用500 - Internal Server Error
: 意外错误
添加或更新配额
方法: POST
路径: /api/v1/quota
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段400 - Bad Request
: 该路径未指向已挂载的UFS,但必须绑定到现有的 UFS上501 - Not Implemented
: 配额功能未启用500 - Internal Server Error
: 意外错误
删除配额
方法: DELETE
路径: /api/v1/quota
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段400 - Bad Request
: 未找到配额或发生其他问题501 - Not Implemented
: 配额功能未启用500 - Internal Server Error
: 意外错误
TTL
列出所有 TTL 策略
方法: GET
路径: /api/v1/ttl
参数: 无
响应:
200 - OK
: 操作成功501 - Not Implemented
: TTL 策略未启用500 - Internal Server Error
: 意外错误
获取 TTL 策略
方法: GET
路径: /api/v1/ttl
参数:
名称
描述
path
数据对应的 Alluxio 路径
响应:
200 - OK
: 操作成功404 - Not Found
: 未找到 TTL 策略501 - Not Implemented
: TTL 策略未启用500 - Internal Server Error
: 意外错误
添加或更新 TTL 策略
方法: POST
路径: /api/v1/ttl
参数:无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段400 - Bad Request
: 该路径未指向已挂载的UFS,但必须绑定到现有的 UFS上501 - Not Implemented
: TTL 策略未启用500 - Internal Server Error
: 意外错误
删除 TTL 策略
方法: DELETE
路径: /api/v1/ttl
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段400 - Bad Request
: 未找到 TTL 策略501 - Not Implemented
: TTL 策略未启用500 - Internal Server Error
: 意外错误
优先级驱逐
列出所有优先级驱逐策略
方法: GET
路径: /api/v1/priority
参数: 无
响应:
200 - OK
: 操作成功501 - Not Implemented
: 优先级驱逐功能未启用500 - Internal Server Error
: 意外错误
获取优先级驱逐策略
方法: GET
路径: /api/v1/priority
参数:
名称
描述
path
数据对应的 Alluxio 路径
响应:
200 - OK
: 操作成功404 - Not Found
: 未找到优先级驱逐策略501 - Not Implemented
: 优先级驱逐功能未启用500 - Internal Server Error
: 意外错误
添加或更新优先级驱逐策略
方法: POST
路径: /api/v1/priority
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段400 - Bad Request
: 优先级字符串格式错误或存在其他问题501 - Not Implemented
: 优先级驱逐功能未启用500 - Internal Server Error
: 意外错误
删除优先级驱逐策略
方法: DELETE
路径: /api/v1/priority
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功400 - Bad Request
: 请求中没有包含请求体或缺少必填字段501 - Not Implemented
: 优先级驱逐功能未启用500 - Internal Server Error
: 意外错误
节点管理
列出所有节点
方法:GET
路径: /api/v1/nodes
参数: 无
响应:
200 - OK
: 操作成功500 - Internal Server Error
: 意外错误
查询节点信息
方法: GET
路径: /api/v1/nodes
参数:
名称
描述
id
worker id (例如 worker-587899dd-5da5-45d4-af40-ce481acc4087)
响应:
200 - OK
: 操作成功 (空值将被省略)404 - Not Found
: 未找到 worker 节点500 - Internal Server Error
: 意外错误
注销节点 (从 etcd 中删除节点)
方法: DELETE
路径: /api/v1/nodes
参数:
名称
描述
id
worker id (例如 worker-587899dd-5da5-45d4-af40-ce481acc4087)
响应:
200 - OK
: 操作成功404 - Not Found
: 未找到 worker 节点500 - Internal Server Error
: 意外错误
全局文件索引
列出所有节点
方法: GET
路径: /api/v1/file_index
参数: 无
响应:
200 - OK
: 操作成功500 - Internal Server Error
: 意外错误
将文件添加到全局索引
方法: POST
路径: /api/v1/file_index
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功 (添加到索引的条目数)404 - Not Found
: 功能未启用500 - Internal Server Error
: 意外错误
将文件从全局文件索引中移除
方法: DELETE
路径: /api/v1/file_index
参数: 无
请求体: Content-Type: application/json
响应:
200 - OK
: 操作成功 (从索引中移除的条目数)404 - Not Found
: 功能未启用500 - Internal Server Error
: 意外错误
Last updated