惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain Blog

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12)
Hadoop(CDH6、CDP7)在Qwen3.7大模型训练中的作用,(含部署...
肥仔鱼Liam · 2026-05-27 · via 博客园_首页

Hadoop(CDH6、CDP7)在Qwen3.7大模型训练中的作用,(含部署、运行操作步骤)

在 Qwen3.7 这类大模型的训练流水线中,Hadoop 主要承担“数据底座”的职责。为了让你更直观地理解,我们可以将整个过程分为Hadoop 集群基础部署数据预处理与存储实战、以及对接 Qwen3.7 训练三个阶段。

通过网盘分享的文件:麒麟kylin linux 安装CDH v7.1指南 

链接:https://pan.baidu.com/s/1wbRWJUSyElplFgse_NyOwg?pwd=pgxn 提取码:pgxn 

通过网盘分享的文件:Hadoop 

链接: https://pan.baidu.com/s/1PDj6dySUNHotNABp7d1a0w?pwd=57is 提取码: 57is 

————————————————

以下是详细的操作步骤与核心命令:

阶段一:Hadoop 分布式集群的基础部署

在训练大模型前,首先需要搭建一个高可用的 Hadoop 集群(包含 NameNode、DataNode 等),确保有充足的存储空间(HDFS)和计算能力(MapReduce/YARN)。

1. 配置 Hadoop 环境变量
在主节点(Master)上,需要修改 hadoop-env.sh 脚本,告诉 Hadoop 你的 Java 环境以及配置文件的位置:

bash

# 编辑 hadoop-env.sh

export JAVA_HOME=/opt/jdk1.7.0_17  # 替换为你实际的 JDK 安装路径

export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true" # 强制使用 IPv4 防止连接问题

export HADOOP_CONF_DIR=/opt/hadoop/hadoop/conf       # 指定配置文件目录

2. 将配置分发到所有计算节点(Slave
为了保证集群配置一致,需要将主节点配置好的 Hadoop 目录,通过 SSH 安全复制到所有的从属节点(DataNode)上:

bash

# 切换到 hadoop 用户

su hadoop

# 进入安装目录并递归复制到从节点

cd /opt/hadoop

scp -r hadoop hadoop-slave-1:/opt/hadoop

scp -r hadoop hadoop-slave-2:/opt/hadoop

3. 指定集群拓扑角色
在 Master 节点的配置目录下,明确指定哪些机器是主节点,哪些是从节点:

bash

# 编辑 masters 文件,填入主节点主机名

echo "hadoop-master" > $HADOOP_CONF_DIR/masters

# 编辑 slaves 文件,填入所有从节点主机名

echo "hadoop-slave-1" > $HADOOP_CONF_DIR/slaves

echo "hadoop-slave-2" >> $HADOOP_CONF_DIR/slaves

阶段二:训练数据的清洗、存储与特征工程

原始数据(如网页文本、日志)非常杂乱,需要通过 Hadoop 生态进行 ETL(抽取、转换、加载)处理,并转化为大模型能“读懂”的格式。

1. 优化 HDFS 存储策略
大模型训练数据通常包含大量大文件(如视频、长文本)。为了减少 NameNode 的元数据压力并提升读取效率,建议将 HDFS 的默认分块大小调整为 256MB 或 512MB

2. 使用 MapReduce/Spark 进行数据清洗与特征提取
在实际生产中,通常使用 Spark(运行在 Hadoop YARN 上)来替代传统的 MapReduce,因为它的内存计算速度更快。

  • 数据清洗: 编写 Spark 任务去除 HTML 标签、过滤低质量文本、进行数据去重。
  • 特征工程: 利用 Spark SQL 或 MLlib 生成统计特征或时序特征。例如,计算用户行为的统计特征:

sql

-- 使用 Spark SQL 提取用户消费统计特征

SELECT user_id, AVG(amount) AS avg_amount, MAX(amount) AS max_amount

FROM order_table

GROUP BY user_id

3. 将处理好的数据存入 HDFS
清洗完毕的高质量语料会被保存为 Parquet 或 JSONL 格式,并存入 HDFS 的特定目录下(例如 /ai/train/qwen3_data/),等待被训练脚本读取。

阶段三:对接 Qwen3.7 训练(数据读取与分布式训练)

当数据在 Hadoop 上准备就绪后,就可以启动 Qwen3.7 的分布式训练任务。训练脚本会直接从 HDFS 读取数据分片。

1. 编写数据转换与分片脚本
为了适配多卡并行读取,通常需要将 HDFS 上的大文件拆分成多个数据分片(Shards)。

bash

#!/bin/bash

# data_convert_qwen3_pretrain.sh

python tools/data_convert.py \

  --input_path hdfs:///ai/train/raw_data/wiki.parquet \

  --tokenizer_path /model/Qwen3-Tokenizer \

  --output_path hdfs:///ai/train/processed_data \

  --seq_length 8192 \

  --shards 16  # 拆分为16个分片,方便多卡并行加载

2. 启动 Qwen3.7 分布式预训练
使用 mpirun 或 torchrun 启动分布式训练脚本。训练程序会通过 DistributedSampler 自动从 HDFS 并行拉取不同的数据分片,并结合张量并行(TP)和流水线并行(PP)策略进行训练。

bash

#!/bin/bash

# pretrain_qwen3_8b_ms.sh (以8卡训练为例)

export RANK_SIZE=8

export MASTER_ADDR=192.168.1.100

export MASTER_PORT=29500

mpirun -np $RANK_SIZE -hostfile hostfile python tools/train.py \

  --model_name qwen3-7b \

  --data_path hdfs:///ai/train/processed_data \

  --batch_size 4 \

  --tp 4  # 张量并行数为4

  --pp 2  # 流水线并行数为2

  --mixed_precision bf16 \

  --distributed_optimizer True

3. 生产环境下的服务化部署命令
在实际的大数据与 AI 融合平台(如阿里云 EMR、腾讯云 MRS)中,你不需要手动敲上述底层命令,而是通过平台提供的工具链一键提交任务:

  • 提交 Spark 数据清洗任务: spark-submit --class DataClean risk_cleaning.jar
  • 部署微调后的模型服务: 训练完成后,使用 vLLM 等高性能引擎将模型部署为 API 服务:

bash

vllm serve /model/Qwen3-7B-Finetuned \

  --tensor-parallel-size 1 \

  --gpu-memory-utilization 0.95 \

  --served-model-name Qwen3-7B-Instruct

通过以上步骤,Hadoop 稳健地完成了从“原始杂乱数据”到“高质量训练燃料”的转化,并最终通过分布式接口无缝输送给 Qwen3.7 进行模型训练。