# Flink Docker 使用指南 ## 快速开始 ### 1. 打包 Flink Job ```bash cd /Users/chaizi/Work/Projects/yusys/ai-study/code/four-level-schedule/schedule-flink jdk17 && mvn clean package -DskipTests ``` ### 2. 启动 Flink (Docker) ```bash cd /Users/chaizi/Work/Projects/yusys/ai-study/code/four-level-schedule docker-compose -f docker-compose-flink.yml up -d ``` ### 3. 访问 Flink Web UI 打开浏览器:http://localhost:8081 ### 4. 提交 Job (通过 Web UI) 1. 打开 http://localhost:8081 2. 点击 **"Submit New Job"** 3. 点击 **"Add New"** 上传 JAR 文件: - 路径:`schedule-flink/target/schedule-flink-1.0-SNAPSHOT.jar` 4. 选中上传的 JAR 5. 填写: - **Entry Class**: `com.yusys.flink.PureJavaTest` (或其他主类) - **Program Arguments**: (留空) 6. 点击 **"Submit"** ### 5. 提交 Job (通过命令行) ```bash # 进入 Flink 容器 docker exec -it flink-jobmanager bash # 提交 Job ./bin/flink run \ -c com.yusys.flink.PureJavaTest \ /opt/flink/usrlib/schedule-flink-1.0-SNAPSHOT.jar ``` ### 6. 停止 Flink ```bash docker-compose -f docker-compose-flink.yml down ``` --- ## 可用的主类 | 主类 | 说明 | |------|------| | `com.yusys.flink.PureJavaTest` | 纯 Java 测试(不依赖 Flink,推荐先测试这个) | | `com.yusys.flink.SimpleLocalTest` | 简单本地测试 | | `com.yusys.flink.MultimodalParseJob` | 完整的多模态解析 Flink Job | --- ## 网络说明 - Docker 容器内访问宿主机服务:用 `host.docker.internal` - 例如:`http://host.docker.internal:8000` (parse-service) - 例如:`http://host.docker.internal:8084` (embedding-api) --- ## 文件挂载 - 本地测试文件目录挂载到:`/data/examples` - 容器内可以访问:`/data/examples/5.docx`