零幸
2026-2-11 13:15:12
一、整体方案规划
1. 实例选型(阿里云)
用途实例类型配置建议说明Hadoop+Spark 伪分布式通用型 g7/g8 或计算型 c74核8G 及以上,系统盘 100G SSD伪分布式单节点足够,无需多机集群GPU 模型训练GPU 计算型 gn5/gn6(替代1080Ti)1核 T4/P100 GPU,8核16G,系统盘 100Ggn5 实例搭载 P100(性能优于 1080Ti),gn6 搭载 T4,均满足轻量模型训练2. 系统选择
建议统一使用 Ubuntu 20.04(阿里云镜像市场可直接选择),兼容性最好。
二、分步配置指南
第一步:购买阿里云实例
- 登录阿里云控制台 → 云服务器 ECS → 创建实例
- 对于 Hadoop 节点:
- 地域:选择就近地域(如华东 2 上海),降低延迟
- 实例规格:选择通用型 g7(4核8G)
- 镜像:CentOS 7.9 64位
- 网络:专有网络 VPC,开启公网 IP
- 安全组:开放 22(SSH)、8088(Spark)、50070(HDFS)端口
- 对于 GPU 节点:
- 实例规格:选择 GPU 计算型 gn5(1×P100 GPU,8核16G)
- 其他配置与 Hadoop 节点一致,需注意 GPU 实例需勾选“开启GPU驱动”(阿里云可自动安装)
第二步:配置 Hadoop+Spark 伪分布式集群(以 CentOS 7.9 为例)
1. 基础环境准备
- # 1. 关闭防火墙和 SELinuxsystemctl stop firewalld && systemctl disable firewalldsetenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config# 2. 安装依赖yum install -y wget java-1.8.0-openjdk-devel vim net-tools# 3. 配置 Java 环境变量(永久生效)echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> /etc/profileecho "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profilesource /etc/profile# 4. 配置主机名和免密登录(伪分布式核心)hostnamectl set-hostname hadoop-nodeecho "127.0.0.1 hadoop-node" >> /etc/hostsssh-keygen -t rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys
复制代码 2. 安装 HDFS(Hadoop 3.3.4)
- # 1. 下载并解压 Hadoopwget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gztar -zxvf hadoop-3.3.4.tar.gz -C /usr/local/mv /usr/local/hadoop-3.3.4 /usr/local/hadoop# 2. 配置 Hadoop 环境变量echo "export HADOOP_HOME=/usr/local/hadoop" >> /etc/profileecho "export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin" >> /etc/profilesource /etc/profile# 3. 修改核心配置文件# (1) core-site.xmlvim /usr/local/hadoop/etc/hadoop/core-site.xml# 写入以下内容: fs.defaultFS hdfs://hadoop-node:9000 hadoop.tmp.dir /usr/local/hadoop/tmp # (2) hdfs-site.xmlvim /usr/local/hadoop/etc/hadoop/hdfs-site.xml# 写入以下内容(伪分布式,副本数设为1): dfs.replication 1 dfs.namenode.http-address hadoop-node:50070 # 4. 格式化 HDFS 并启动hdfs namenode -formatstart-dfs.sh# 验证 HDFS 是否启动成功(出现 NameNode、DataNode、SecondaryNameNode 即为正常)jps
复制代码 3. 安装 Spark(3.3.4,适配 Hadoop 3.3.4)
- # 1. 下载并解压 Sparkwget https://archive.apache.org/dist/spark/spark-3.3.4/spark-3.3.4-bin-hadoop3.tgztar -zxvf spark-3.3.4-bin-hadoop3.tgz -C /usr/local/mv /usr/local/spark-3.3.4-bin-hadoop3 /usr/local/spark# 2. 配置 Spark 环境变量echo "export SPARK_HOME=/usr/local/spark" >> /etc/profileecho "export PATH=\$PATH:\$SPARK_HOME/bin:\$SPARK_HOME/sbin" >> /etc/profilesource /etc/profile# 3. 配置 Spark 连接 HDFSvim /usr/local/spark/conf/spark-env.sh# 写入以下内容:export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdkexport HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoopexport SPARK_MASTER_HOST=hadoop-nodeexport SPARK_WORKER_MEMORY=4g# 4. 启动 Spark 集群start-all.sh# 验证 Spark(出现 Master、Worker 即为正常)jps
复制代码 4. 验证 HDFS+Spark
- # 1. HDFS 验证:创建目录并上传文件hdfs dfs -mkdir /testhdfs dfs -put /etc/hosts /test/hdfs dfs -ls /test# 2. Spark 验证:运行官方示例spark-submit --class org.apache.spark.examples.SparkPi --master local[2] $SPARK_HOME/examples/jars/spark-examples*.jar 10# 输出 Pi ≈ 3.14 即为成功
复制代码 第三步:配置 GPU 服务器(模型训练)
1. 验证 GPU 驱动和 CUDA
- # 1. 检查 GPU 识别(阿里云已自动安装驱动)nvidia-smi # 输出 GPU 信息即为正常# 2. 安装 CUDA 11.7(适配 1080Ti/T4/P100)wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.runchmod +x cuda_11.7.0_515.43.04_linux.run./cuda_11.7.0_515.43.04_linux.run --override --silent --toolkit# 3. 配置 CUDA 环境变量echo "export CUDA_HOME=/usr/local/cuda-11.7" >> /etc/profileecho "export PATH=\$PATH:\$CUDA_HOME/bin" >> /etc/profileecho "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$CUDA_HOME/lib64" >> /etc/profilesource /etc/profile# 验证 CUDAnvcc -V # 输出版本信息即为正常
复制代码 2. 安装轻量模型训练环境(以 PyTorch 为例)
- # 1. 安装 Python 和 pipyum install -y python3 python3-pippip3 install --upgrade pip# 2. 安装 PyTorch(适配 CUDA 11.7)pip3 install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117# 3. 验证 GPU 可用python3 -c "import torch; print(torch.cuda.is_available())"# 输出 True 即为 GPU 可用于训练
复制代码 三、关键注意事项
- 阿里云资源计费:GPU 实例按小时计费,成本较高,非训练时段可停止实例(仅保留数据盘)以节省费用;Hadoop 节点可选择包年包月,成本更低。
- 网络互通:若 Hadoop 节点和 GPU 节点需要互通,需将两者放在同一 VPC 和安全组,开放对应端口(如 9000、8088 等)。
- 数据迁移:训练数据可通过 HDFS 的 hdfs dfs -copyToLocal 命令从 Hadoop 节点迁移到 GPU 节点,或直接通过 Spark 读取 HDFS 数据到 GPU 节点训练。
总结
- 阿里云可满足需求:Hadoop+Spark 伪分布式可部署在通用型 ECS,GPU 训练可选用 gn5/gn6 实例(替代 1080Ti);
- 核心配置步骤:先购实例(注意 GPU 实例驱动)→ 配置 Hadoop/Spark 伪分布式(重点是免密登录和 HDFS 配置)→ 配置 GPU 环境(验证驱动+安装 CUDA/框架);
- 关键验证点:HDFS 可上传文件、Spark 可运行示例、GPU 节点 nvidia-smi 和 torch.cuda.is_available() 均正常输出。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|
|
|
|
|
相关推荐
|
|
|