-
Notifications
You must be signed in to change notification settings - Fork 1k
集群部署与分布式提交
yiling-dc edited this page Dec 21, 2018
·
4 revisions
XDL提供了基于Docker的,通过YARN进行调度的分布式提交工具
-
Hadoop部署
提交工具基于HADOOP 3.1.0及更新版本,HADOOP部署官方文档 -
GPU绑核的支持(可选)
基于官方版本YARN的GPU调度,通常对调度到机器的GPU使用不做限制,而类似TF对GPU的使用策略是默认占用全部显存,所以多个进程共享同一个GPU会导致显存不足等问题。我们提供了带GPU隔离的HADOOP_PATCH(通过docker环境变量 CUDA_VISIBLE_DEVICES 实现) PATCH使用方法:- 编译安装
(注:x-deeplearning/xdl/distributed/gpu_patch/目录下提供了基于原版hadoop-3.1.0编译好的二进制文件hadoop-yarn-server-nodemanager-3.1.0.jar,无特殊需求可直接跳过此步骤)
curl https://archive.apache.org/dist/hadoop/core/hadoop-3.1.0/hadoop-3.1.0-src.tar.gz > hadoop-3.1.0-src.tar.gz tar -zxvf hadoop-3.1.0-src.tar.gz cd hadoop-3.1.0-src patch -p1 < /absolute_path_to/x-deeplearning/xdl/distributed/gpu_patch/gpu_ids.patch ./start-build-env.sh # 然后会进入带有编译环境的docker镜像 cd ~/hadoop/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager mvn clean package -DskipTests -Pnative # 获得./target/hadoop-yarn-server-nodemanager-3.1.0.jar文件
- 部署
在集群中带有GPU卡的nodemanager机器的yarn-site.xml中增加配置: <property> <name>yarn.nodemanager.resource.gcores</name> <value>2</value> </property> 其中value是指单台GPU机器包含GPU卡的数量,这里以2为例 将hadoop-yarn-server-nodemanager-3.1.0.jar文件拷贝到集群nodemanager所在机器的 /absolute_path_to/hadoop/share/hadoop/yarn/目录下,重启nodemanager
- 编译安装
-
安装Docker
Nodemanager所在的机器需要安装Docker和对应的镜像 参考
- 安装 在已安装好的HADOOP集群中任意选择一台机器,我们称之为gateway,在上面安装分布式提交工具xdl_submit.py
安装步骤如下:
cd x-deeplearning/xdl/distributed
sudo sh install_xdl_submit.sh
安装完成之后,可以用如下命令进行分布式任务的提交:
xdl_submit.py --config=xdl_test.json