多节点OpenMPI集群的搭建和使用
两台机器,IP地址分别为192.168.207.192和192.168.207.102。其中192为master节点,102为node节点.
1. 第三方源进行OpenMPI安装
sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev
查询版本信息
mpirun --version
2. 环境准备
清空两台机器 “~/ .ssh” 下的所有文件
3.配置host文件
两台机器相同操作:
sudo vi /etc/hosts
4. 检查网络连接
确保worker和master能ping通
ping -c 3 master
ping -c 3 node
5. 免密操作
ssh node 即可
6. NFS共享目录
master和node节点都在相同的路径下创建一个共享文件夹
mkdir /home/omnisky/mpi_volumn
安装NFS(两个节点)
sudo apt install nfs-kernel-server
master节点设置共享文件夹为读写权限。通过 “sudo vi /etc/exports” 命令进入配置文件:
重启NFS服务
sudo /etc/init.d/nfs-kernel-server restart
7. 从节点加载共享目录
sudo mount -t nfs 192.168.207.192:/home/omnisky/mpi_volumn /home/omnisky/mpi_volumn
8. 测试NFS共享目录
master节点在共享目录mpi_volumn中添加一个 “hello”文件
node节点打开共享目录mpi_volumn,发现一个名为 “hello”的文件,共享成功。
9. 测试OpenMPI集群
在master共享目录mpi_volumn下面创建一个名为"test.c"的OpenMPI程序。
编译:mpicc test.c -o main
集群下运行OpenMPI:
mpirun -np 1 -host master ./main
mpirun -np 1 -host 192.168.207.102 ./main
mpirun -np 2 -host master, -host 192.168.207.102 ./main
报错:[....] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.serviceJob for nfs-server.service canceled.
failed!
将一开始的 /etc/exports
改成:
/home/omnisky/mpi_volumn *(rw,sync,no_root_squash,no_subtree_check)
测试
sudo /etc/init.d/nfs-kernel-server status
参考文档:
https://blog.csdn.net/Canhui_WANG/article/details/90552496
https://blog.csdn.net/mjf110107110/article/details/88651251