您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页NFS+MPICH2 简单集群搭建

NFS+MPICH2 简单集群搭建

来源:华佗小知识


NFS+MPICH2 简单集群搭建

准备工作:

Sudo apt-get install openssh-server( master node)

Sudo apt-get install openssh-client(slave node)

Sudo apt-get install nfs-kernel-server(master node)

Sudo apt-get install nfs-client(slave node)

Sudo apt-get install gcc (g++ gfortran 可选)

加上所有用户名都是(h)

NFS系统配置

1. master node

(1)用 命令sudo vi /etc/hostname 打开 hostname 文件, 将主机名改为自己想要的名字(如 node0),保存退出vi编辑器,然后用命令sudo reboot重启, CTR+ALT+t 会在命令行窗口看到刚才改的名字;

(2)用命令 sudo vi /etc/hosts 打开hosts 文件,配置hosts文件(如下面形式(3个节点))

127.0.0.1 localhost

192.168.1.10 node0

192.168.1.11 node1

192.168.1.12 node2

注意:此时的node0 必须与第一步改的一样 否则启动不了mpich2)

(3)第一步,利用命令 cd / 回到根目录,然后 sudo mkdir cluster 创建 共享目录cluster。用ls –l 或者ll 查看刚建立的 cluster目录,其属于root用户和root组。用命令 sudo chown h:h /cluster进行修改,再次参考会发现 目录/cluster 已经被改成我们所想要的用户和组;第二步,用命令sudo vi /etc/exports(或者 sudo gedit /etc/exports)打开 exports 文件,并在文件末尾添加如下形式的东西

/cluster node0(rw,sync,fsid=0,crossmnt,no_subtree_check)

/cluster node1(rw,sync,fsid=0,crossmnt,no_subtree_check)

/cluster node2(rw,sync,fsid=0,crossmnt,no_subtree_check)

这两句的意思是说 将master node0 的/cluster 目录共享给node1,node2,权限是读和写

到此,master node 的NFS配置完毕。

最后,运行 sudo exportfs -rv 使配置生效。

2. slave nodes 配置(每个slave node)

(1)用 命令sudo vi /etc/hostname 打开 hostname 文件, 将主机名改为自己想要的名字(如 node0),保存退出vi编辑器,然后用命令sudo reboot重启, CTR+ALT+t 会在命令行窗口看到刚才改的名字;

(2)用命令 sudo vi /etc/hosts 打开hosts 文件,配置hosts文件(如下面形式(3个节点))

127.0.0.1 localhost

192.168.1.10 node0

192.168.1.11 node1

192.168.1.12 node2

保存退出。

(3)挂载 master node 的 cluster目:用命令sudo vi /etc/fstab(或者 sudo gedit /etc/fstab)打开 fstab 文件,并在文件末尾添加如下形式的东西

node0:/cluster /cluster nfs rw, async,auto,exec,nouser,suid 0 0

保存退出。

节点之间的ssh 无密码登录

所有节点之间都执行相同的操作,在此以master node为例进行操作

注:ping node1( ping node2) 看是否都能ping通,否则检查硬件和自己的配置,直到所有节点都ping通之后再继续下面的操作

cd

ssh-keygen –t rsa 一路回车之后

cd .ssh (进入 .ssh 目录)

ls (会看到 有 id_rsa, id_rsa.pub 两个文件,分别表示公钥和私钥)

touch authorized_keys (创建空文件authorized_keys, 制作授权密钥)

cp id_rsa.pub ~/.ssh/authorized_keys

scp id_rsa.pub node1:~/.ssh/0.pub

scp id_rsa.pub node2:~/.ssh/0.pub

分别进入node1, node2 的.ssh目录执行

cat 0.pub >> authorized_keys

所有node 执行上面相同的操作之后,在每个节点分别执行

ssh node* ( * 可以代表0, 1, 2中的一个),如果都不需要输入密码就能进入别的node则说明配置成功,否则检查,直到能无密码登录为止。

利用 exit退出登录。

(可能出错,出错时将 known-hosts 删除,重新执行(类似cat 0.pub >> authorized_keys

的语句,便可解决)

MPICH 2 安装及配置

安装:(master node)

sudo apt-get install build-essential

sudo apt-get install autoconf

sudo apt-get install automake

在mpi官网下载最新的mpich2,然后 利用 cp ~/Downloads mpich2-xxxx.tar.gz /cluster/

tar –xzvf mpich2-xxxx.tar.gz (解压缩)

sudo mkdir mpich2 (新建目 mpich2 用来安装mpich2)

cd /cluster/mpich2-xxxx

./configure –prefix=/cluster/mpich2 --with-pm=mpd (参考mpic2 用户手册 根据自己的需要进行配置)

配置完之后,运行

sudo make (需要几分钟时间)(反make: make clean)

完事之后,运行

sudo make install (需要几分钟时间)(反install: sudo make uninstall)

环境变量配置:(master node 和slave node节点相同部分)

cd (回到 ~/ 目录)

vi .bashrc (打开 .bashrc 文件,然后 在文件末尾添加如下内容)

export PATH=”/cluster/mpich2/bin: $PATH”

export PATH

export LD_LIBRARY_PATH=”/cluster/mpich2/lib:$ LD_LIBRARY_PATH”

export LD_LIBRARY_PATH

保存,退出,然后运行

source ~/.bashrc 加载修改的内容

对master node 还多下面一步

sudo vi /etc/environment

将PATH 的值修改为(使ssh能够找到)

修改前

PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games”

修改后

PATH=”/cluster/mpich2/bin:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games”

要使mpich2能够运行还需要一下一些配置

master node

cd (回到 ~/ 目录)

touch mpd.hosts

vi mpd.hosts 添加如下内容,然后保存退出

node0

node1

node2

也可以以这种方式

node0:num0

node1:num1

node2:num2

其中,numi 为每个节点的cpu数

接着配置 .mpd.conf 文件(所有node)

cd (回到 ~/ 目录)

touch .mpd.conf

vi ~/.mpd.conf

添加 MPD_SECRETWORD=mypasswd. 其中mypasswd最好喝用户的密码保持一致

chmod 600 ~/.mpd.conf (修改权限)

到此所有配置全部完成

在个节点分别用一下命令进行测试,看是否配置成功

mpd &

mpdtrace

mpdallexit

若以上测试都成功,则可以回到master node 进行体验简单的并行程序

cd

mpdboot –n 3 –f mpd.hosts

mpirun -n 20 /cluster/mpich2-xxxx/examples/cpi

mpdallexit 完工

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务