集群机器搭建多节点MPI运行环境
1、各个节点安装MPI:https://blog.csdn.net/liu_feng_zi_/article/details/942864382、软硬件环境:1、节点:3个节点:node1,node2,node32、系统操作系统:Centos 73、多节点配置1、host配置:通过下面命令打开host文件vim /etc/hosts在每个节点的host文件内添加ip地址和主机名,例如:10.10.
1、各个节点安装MPI:
https://blog.csdn.net/liu_feng_zi_/article/details/94286438
2、软硬件环境:
1、节点:
3个节点:node1,node2,node3
2、系统
操作系统:Centos 7
3、多节点配置
1、host配置:
通过下面命令打开host文件
vim /etc/hosts
在每个节点的host文件内添加ip地址和主机名,例如:
10.10.1.12 node1
10.10.1.56 node2
10.10.1.23 node3
执行一下host文件
source /etc/hosts
配置成功后,可以使用ping来测试是否修改成功
2、配置节点间ssh免密登录
以node1和node2为例
1、ssh登录到node1,生成公钥,并发送给node2节点
cd ~/.ssh/
ssh-keygen -t rsa # 直接回车
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
2、ssh登录到node2,执行相同的操作,并将产生的公钥发送给node1
cd ~/.ssh/
ssh-keygen -t rsa
scp ./id_rsa.pub node1:~/.ssh/node2_id_rsa.pub#避免名字重复加上对应节点的前缀
3、在node1节点,将发送过来的公钥追加到authorized_keys
cat ~/.ssh/node2_id_rsa.pub >> ~/.ssh/authorized_keys
4、修改文件权限并将authorized_keys文件发送给node2节点
chmod 600 ~/.ssh/authorized_keys #可能有时不修改也不影响无密登录但还是建议修改
scp ./authorized_keys node2:~/.ssh/authorized_keys
5、把"~/.ssh/"目录下的"node1_id_rsa.pub"等文件删除掉
rm ~/.ssh/node2_id_rsa.pub
6、验证ssh无密登录
3、MPI多节点执行
mpi可以多节点执行,但是需要保证在每个节点上的相同路径下都有可执行文件,所以每次都要把可执行文件进行远程拷贝
1、新建一个执行文件host,文件内容如下,表示每个节点执行3个进程
node1:3
node2:3
node3:3
2、执行mpi文件
mpic++ test.cpp -o mpi #编译
scp ./mpi node2:/home/mpi #拷贝可执行程序到node2同路径下
scp ./mpi node3:/home/mpi #拷贝可执行程序到node3同路径下
mpirun -f host -n 9 ./mpi
4、配置NFS共享目录安装配置
服务端:node1
服务端:node2、node3
4.1 服务端配置
1、查看是否已经安装nfs
rpm -qa |grep nfs
2、没有安装则进行安装
yum -y install nfs-utils rpcbind
3、创建共享目录,一般在根目录下进行创建
mkdir /mpi
4、配置/etc/exports
vim /etc/exports
/mpi 10.10.1.56(rw,sync,root_squash)
/mpi 10.10.1.23(rw,sync,root_squash)
5、启动服务并设置开机启动
service rpcbind start
service nfs start
chkconfig --level 2345 rpcbind on
chkconfig --level 2345 nfs on
4.2 客户端配置
1、查看是否安装nfs,没有则进行安装
2、查看服务端共享目录
showmount -e 10.10.1.12
若出现错误,可参考 这篇文章:
https://blog.csdn.net/liu_feng_zi_/article/details/108405064
3、挂载共享目录到本地,并测试
mount -t nfs 10.10.1.12:/mpi /mpi
cd /mpi && touch test
4、设置开机自动挂载
vim /etc/fstab
10.10.1.12:/mpi /mpi nfs defaults 0 0
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)