Bootstrap

MPI分布式并行环境搭建(超详细)

1.安装必要的软件(nano、net-tools、gcc、g++ gfortran)

sudo yum install nano

sudo yum install net-tools

sudo yum install gcc

sudo yum install gcc-c++

sudo yum install gcc-gfortran

2.关闭防火墙

1)直接关闭防火墙

$ sudo systemctl stop firewalld.service

2)禁止firewall开机启动

$ sudo systemctl disable firewalld.service

3)关闭SELinux命令(永久关闭)

$ sudo nano /etc/selinux/config 注释下面两行:

#SELINUX=enforcing

SELINUX=disabled

#SELINUXTYPE=targeted

设置后需要重启才能生效。

4)查看防火墙状态: $ /usr/sbin/sestatus

4.搭建集群和ssh免密登录在之前的课程中已完成,这里省略相关步骤。

5.安装MPICH2

在两台机器上的用户根目录下建立software目录,并把安装包拷到文件夹下,对mpich-3.0.4.tar.gz进行解压:

$ tar zxvf mpich-3.0.4.tar.gz

在Node1根目录下

$ mkdir mpi-install //安装MPICH的文件夹

$ mkdir mpi-work //并行程序的文件夹

进mpi解压包配置安装路径:

$ cd mpich-3.0.4

$ ./configure --prefix=/home/hadoop/mpi-install --with-pm=mpd:hydra

$ make

$ make install

  • 在服务器端(slave01)配置方法(在root权限下进行)

/etc/exports文件配置,在文件/etc/exports中增加如下内容(以mpi-install为例)/home/hadoop/mpi-install 192.168.1.0/24(rw,sync,no_root_squash)

启动rpc和nfs服务

$ yum -y install nfs-utils//安装nfs

$ /bin/systemctl start rpcbind.service

$ /bin/systemctl start nfs.service

设置开机自启动

$ systemctl enable rpcbind.service

$ systemctl enable nfs.service

  • 客户端(slave02)配置方法(在用户权限下进行)

$sudo yum -y install nfs-utils//安装nfs

建立共享目录

$mkdir /home/hadoop/mpi-install

查看共享目录

$showmount -e slave01(也可以写为slave01的IP地址)

挂载共享目录

$sudo mount -t nfs slave01:/home/hadoop/mpi-install /home/hadoop/mpi-install

$sudo mount -t nfs slave01:/home/hadoop/mpi-work /home/hadoop/mpi-work

$ df -h//查看是否挂载

客户端的开启自动挂载设置(推荐)

$sudo nano /etc/fstab

在该文件中增加如下内容

slave01:/home/hadoop/mpi-install /home/hadoop/mpi-install nfs defaults 0 0

slave01:/home/hadoop/mpi-work /home/hadoop/mpi-work nfs defaults 0 0

安装后分别在Node1和Node2加入环境变量/etc/profile(~/.bashrc)

$sudo nano ~/.bashrc 或者 $ sudo nano /etc/profile

PATH=$PATH:/home/hdusr/mpi-install/bin MANPATH=$MANPATH:/home/hdusr/mpi-install/man

export PATH MANPATH

$source ~/.bashrc 或者 $ source /etc/profile

// 检测运行的mpi命令的版本:

$ which mpicc

$ which mpiexec

slave01切换为用户模式

设置、启动mpd守护进程

a) 在用户主目录下创建文件 ~/mpd.hosts

将所有允许访问本机进行并行计算的机器名填入,一个机器名一行。

在本实例中的~/mpd.hosts文件内容为:

slave01

slave02

设置进程的配置环境

MPI通过mpd管理器来管理运行MPI程序。此外,需要在用户主目录下为其创建进程管理的配置文件(基于安全考虑):.mpd.conf

注意:这个文件只能由用户读写,在每台机器上创建如下文件:

$cd /home/hadoop

$sudo touch .mpd.conf

$sudo nano .mpd.conf

secretword=sll&4175//密码必须一致

$sudo chmod 600 .mpd.conf

$mpd& //启动本地mpd的命令

测试-slave01节点

测试-slave02节点

至此,两节点的MPI环境就搭建成功了。

;