集群机器搭建多节点MPI运行环境「建议收藏」

集群机器搭建多节点MPI运行环境「建议收藏」1、各个节点安装MPI:https://blog.csdn.net/liu_feng_zi_/article/details/942864382、软硬件环境:1、节点:3个节点:node1,node2,node32、系统操作系统:Centos73、多节点配置1、host配置:通过下面命令打开host文件vim/etc/hosts在每个节点的host文件内添加ip地址和主机名,例如:10.10.1.12node110.10.1.56node210.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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无密登录

集群机器搭建多节点MPI运行环境「建议收藏」

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

集群机器搭建多节点MPI运行环境「建议收藏」

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

集群机器搭建多节点MPI运行环境「建议收藏」

若出现错误,可参考 这篇文章:

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

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184663.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QtreeWidget_遍历qtreewidget

    QtreeWidget_遍历qtreewidget设置右键菜单并实现添加一个子项删除一个子项的功能这样有两个缺点1.只能添加特定的子项。2.不能实现不同层级节点的不同菜单。dialog.cppwidget.cppwidget.h还可以通过TYPE属性来确定每一个节点的层级。代码实现mainwindow.cppmainwindow.hdialog.cppdialog.h参考博客…

    2022年10月1日
  • Python-opencv读取深度图像

    Python-opencv读取深度图像由于实验需要用到Kinect2.0采集的深度图像,但是用以下程序读取深度图片的时候显不方便观察temp_img=’cup_depth.png’depth_filename=os.path.join(image_dir,depth_img)temp_filename=os.path.join(image_dir,temp_img)im…

    2022年5月24日
  • 列举出linux文件和目录常用的命令_linux常用命令

    列举出linux文件和目录常用的命令_linux常用命令目录命令总览ls(英文全拼:listfiles):列出目录及文件名cd(英文全拼:changedirectory):切换目录pwd(英文全拼:printworkdirectory):显

    2022年7月31日
  • web ide「建议收藏」

    web ide「建议收藏」webide在做项目中,遇到一个这样的场景,当我们把系统服务搭建好,给用户显示的时候,如果用命令行一步步的走,感觉会把他们弄晕,另外,交付系统,还得一步步的写操作流程,遇到一点问题,就还得补充进去,所以我就想,能不能搭建一个web-ide,用户直接把代码复制上去,点点点,就能完成系统的完整体验。当然,还有就是Web-ide对于移动办公、合作开发也有帮助,比如我想把我的代码给别人看,直接在他电…

    2022年10月18日
  • 汇编语言(1)- 计算机基础[通俗易懂]

    汇编语言(1)- 计算机基础[通俗易懂]一、机器语言机器语言是机器指令的集合,机器指令就是一台机器可以正确执行的命令。电子计算机的机器指令就是一列二进制数据,计算机将其转换为一列高低电平,使计算机的电子器件受到驱动,进行运算。二、汇编语言1.特点汇编语言的主体使汇编指令,汇编指令和机器指令的差别在于表示的方法上,汇编指令是便于记忆的书写格式例如:机器指令:1000100111011000表示把BX寄存器的内容发送到AX寄存器中汇编指令:movax,bx2.汇编语言的组成汇编指令:机器码的助记符,有对应的机器码伪指

    2022年8月30日
  • 礼仪或许就是尊重的还有一个说法——leo鉴书61

    礼仪或许就是尊重的还有一个说法——leo鉴书61

    2021年11月24日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号