缓存释放

缓存释放概述

free操作提供了强制驱逐数据的选项,用来手动释放缓存空间。

通过命令行释放缓存空间

用法: bin/alluxio job free [flags]

  • 提交一个free任务:

$ {ALLUXIO_HOME}/bin/alluxio job free --path s3://bucket/path --submit
  • 查看一个free任务的进度:

$ {ALLUXIO_HOME}/bin/alluxio job free --path s3://alluxio/path --progress
Progress for Free path file 's3://alluxio/path':
  Job Id: b21ce9fb-f332-4d39-8bb4-554f9a4fa601
  Job Submitted: Fri Feb 02 21:28:56 CST 2024
  Job path: s3://alluxio/path
  Job State: SUCCEEDED, finished at Fri Feb 02 21:29:01 CST 2024
  Free Info : totalFile:4 totalByte:3072.00KB
  Free Files Failed: 0
  Free Bytes Failed: 0B
  Free Files Succeeded: 4
  Free Bytes Succeeded: 3072.00KB
  • 停止并中断一个正在运行的free任务:

    停止后,没有释放的文件依然会留在缓存中

$ {ALLUXIO_HOME}/bin/alluxio job free --path s3://alluxio/path --stop
参数描述:
--path [all] ufs路径
--batch-size [submit] 每秒每个worker释放文件的速度
--force [submit] 即使某些worker离线也触发释放
--verbose [progress] 输出free任务的详细信息
--format string [progress] 输出格式,TEXT或JSON(默认 "TEXT"

通过REST API释放缓存空间

  • 提交一个free任务:

curl -H "Content-Type: application/json" -v -X POST http://host:19999/api/v1/master/submit_job/free -d '{
  "path": "s3://alluxio/path",
  "options": {
  "batchSize": "200"
  }
}'
  • 查看一个free任务的进度:

curl -H "Content-Type: application/json" -v -X GET http://host:19999/api/v1/master/progress_job/free -d '{
  "path": "s3://alluxio/path",
  "format": "JSON",
  "verbose": "true"
}'
  • 停止并中断一个正在运行的free任务:

    停止后,没有释放的文件依然会留在缓存中

curl -H "Content-Type: application/json" -v -X POST http://host:19999/api/v1/master/stop_job/free -d '{
  "path": "s3://alluxio/path"
}'

Last updated