|
@@ -241,4 +241,39 @@ python3 bin/datax-gc-generator.py --from hdfs --to elasticsearch \
|
|
|
|
|
|
|
|
|
|
|
|
|
已查证:whoami 分流 + env.sh 外配 2026-04-21 完成(kb/92 L175);{module}/{dt}/{file}.log 统一结构
|
|
已查证:whoami 分流 + env.sh 外配 2026-04-21 完成(kb/92 L175);{module}/{dt}/{file}.log 统一结构
|
|
|
- 仍目标态(日志模块统一 kb/92 L617 待启动)
|
|
|
|
|
|
|
+ 仍目标态(日志模块统一 kb/92 L617 待启动)
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+### 4.4 Worker 分发与日志链路(2026-04-23 查证)
|
|
|
|
|
+
|
|
|
|
|
+#### 4.4.1 分发位置
|
|
|
|
|
+
|
|
|
|
|
+分发在 `bin/datax-single-job-starter.sh` 这层;`multiple-*-starter.sh` 只是 for 循环调 `single`,每个 `single` 独立调 `select_worker()` 掷骰子(参数 `-random` 触发;缺省回退本机)。
|
|
|
|
|
+
|
|
|
|
|
+单次 single-job-starter 执行 **两次 ssh**:
|
|
|
|
|
+
|
|
|
|
|
+1. `generate_job_config()`(L67):`ssh <worker> python3 ${BASE_DIR}/bin/datax-job-config-generator.py ...` —— 在被选 worker 上生成 json,读的是**该 worker 本地**的 ini + `datasource/<db_type>/<env>-<实例>.ini`
|
|
|
|
|
+2. `run_single_datax_job()`(L267):`ssh <worker> python3 /opt/datax/bin/datax.py <json>` —— 在被选 worker 上跑 DataX JVM
|
|
|
|
|
+
|
|
|
|
|
+**含义**:所有 worker 节点必须**同路径**具备 项目代码 + `datasource/` + `/opt/datax` + Python 解释器。本项目部署的 base_dir = `/home/bigdata/release/poyee-data-warehouse/`、datasource 路径 = `/home/bigdata/release/datasource/`(项目同级)。
|
|
|
|
|
+
|
|
|
|
|
+#### 4.4.2 串行模式日志链路(默认,不加 `-parallel`)
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+idea 控制台 ← ssh ← m2 bash ← ssh ← <worker> datax.py stdout
|
|
|
|
|
+ │
|
|
|
|
|
+ └─ tee → ${LOG_ROOT_DIR}/datax/.../<job>.log(m2 本地文件)
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+【查证 multiple-job-starter.sh:231】`single-job-starter ... | tee "${LOG_FILE}"`:ssh 回传的 stdout 经 tee 同时写入 m2 本地日志文件 + 沿发起方 ssh 通道回到 idea 控制台。远端 DataX 日志在 idea 控制台完整可见,顺序打印。
|
|
|
|
|
+
|
|
|
|
|
+#### 4.4.3 并行模式(加 `-parallel`)
|
|
|
|
|
+
|
|
|
|
|
+【查证 multiple-job-starter.sh:240】`single-job-starter ... > "${LOG_FILE}" 2>&1 &`:每个 single 后台跑 + stdout 重定向到独立文件,**不经 tee、不回当前 shell**。
|
|
|
|
|
+
|
|
|
|
|
+- idea 控制台只看到 "所有 DataX 作业都已启动(共启动 N 个)" 一行
|
|
|
|
|
+- 每个任务日志落 **m2 本地** `${LOG_ROOT_DIR}/datax/.../<START_DATE>/<START_DATE>-<JOB_NAME>.log`(不分散在各 worker)
|
|
|
|
|
+- 进度要 `tail -f` 独立日志文件
|
|
|
|
|
+
|
|
|
|
|
+并行模式触发三连:USER=bigdata + CURRENT_HOST=RELEASE_HOST + 显式 `-parallel`,任一缺失退串行。
|