缓存释放

Slack Docker Pulls

缓存释放概述

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"
    }'