EgoVerse 数据集全量拉取:保姆级实操指南

EgoVerse 数据集全量拉取指南:从基础环境到 Rclone 高性能同步

发布时间:2026-04-01 | 操作员:杨振宇 | 运行环境:Ubuntu 24.04 (8核/16GB/VEPFS)

🔗 数据集主页: EgoVerse GitHub Repo
📌 核心逻辑: 由于 EgoVerse 存储在 Cloudflare R2,其 Endpoint 与 Region 策略特殊。本指南涵盖了从底层 AWS CLI 初始化到使用 Rclone 进行高性能断点续传的全过程。

一、 基础环境安装 (AWS CLI & Rclone)

首先需要安装必要的命令行工具。AWS CLI 用于基础身份初始化,Rclone 用于执行实际的高速同步。

1. 安装 AWS CLI v2

# 下载并安装官方最新版二进制包
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscli-exe-linux-x86_64.zip"
unzip awscli-exe-linux-x86_64.zip
sudo ./aws/install --update
/usr/local/bin/aws --version

2. 一键安装 Rclone (最新推荐)

# 使用官方脚本安装最新稳定版
curl https://rclone.org/install.sh | sudo bash

二、 身份初始化与凭证获取

1. 全局身份配置

运行 aws configure 并填入基础配置(Region 建议填写 us-east-2):

/usr/local/bin/aws configure
# Access Key ID: AKIAYDKH4BNCAYHE5NG2
# Secret Access Key: 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
# Default region name: us-east-2

2. 提取 R2 动态访问权限

进入项目目录,通过脚本获取 Cloudflare R2 的临时访问密钥:

cd /root/EgoVerse
source egomimic/utils/aws/setup_secret.sh
# 验证凭证文件是否存在
ls -l /root/.egoverse_env

三、 自动化下载部署 (Rclone 优化脚本)

相比 aws s3 sync,Rclone 支持更细致的内存管理和并发控制。以下脚本适配 8核/16GB 环境,支持代理及实时进度显示。

#!/bin/bash
# =================================================================
# EgoVerse 定向同步脚本 (Rclone 优化版)
# =================================================================

SOURCE_ENV="/root/.egoverse_env"
BASE_DIR="/mnt/vepfs/data/share/EgoVerse"
TARGET_FOLDER="processed_v3/mecka/freeform"

# 1. 加载凭证与代理设置
[ -f "$SOURCE_ENV" ] && source "$SOURCE_ENV"
export http_proxy="http://192.168.80.10:7890"
export https_proxy="http://192.168.80.10:7890"

# 2. 注入 Rclone 动态配置 (无需手动运行 rclone config)
export RCLONE_CONFIG_R2_TYPE=s3
export RCLONE_CONFIG_R2_PROVIDER=Cloudflare
export RCLONE_CONFIG_R2_ACCESS_KEY_ID="$R2_ACCESS_KEY_ID"
export RCLONE_CONFIG_R2_SECRET_ACCESS_KEY="$R2_SECRET_ACCESS_KEY"
export RCLONE_CONFIG_R2_ENDPOINT="$AWS_ENDPOINT_URL_S3"
export RCLONE_CONFIG_R2_REGION=auto

# 3. 核心同步逻辑 (带断点续传)
mkdir -p "$BASE_DIR/$TARGET_FOLDER"
while true; do
    echo "[$(date)] 开始同步 $TARGET_FOLDER ..."
    
    rclone sync "R2:$BUCKET/$TARGET_FOLDER" "$BASE_DIR/$TARGET_FOLDER" \
        --size-only \
        --transfers 32 \
        --checkers 64 \
        --buffer-size 32M \
        --use-mmap \
        --low-level-retries 20 \
        --stats 1s \
        --stats-one-line -P

    if [ $? -eq 0 ]; then
        echo "同步任务成功完成!"
        break
    fi
    echo "同步异常中断,30秒后自动续传..."
    sleep 30
done

四、 核心避坑指南

1. 参数调优: --size-only 可跳过海量文件的 ModTime 校验,大幅缩短启动时间。--transfers 32 确保在 16GB 内存下获得最佳吞吐量。

2. 权限问题: 如果遇到 X-Amz-Security-Token 错误,通常是因为桶访问不兼容 Session Token。本方案已通过 Access/Secret Key 直接验证绕过此限制。

3. 挂机运行: 由于数据集规模以 TB 计,必须配合 screen 或 tmux 会话运行,防止 SSH 断连导致任务挂起。

posted @ 2026-03-26 17:53  Mr_lvye  阅读(269)  评论(0)    收藏  举报