Ubuntu14.04下基于MPICH2框架的集群搭建

1.所有计算机安装Ubuntu14.04系统,单双系统无所谓。

2.计算机的命名要有所区别。

3.每台计算机的用户名要相同,这点十分重要,否则配置ssh的时候会出现问题。

4.为每台计算机配置静态ip:

         sudo gedit/etc/network/interfaces

在文件中加入下列信息

address 172.16.71.147#(IP地址)

netmask 255.255.255.0#(子网掩码)

gateway 172.16.71.1#(网关)

network 172.16.71.0#(可不配)

broadcast 172.16.71.255#(广播地址,可不配)

dns-nameservers202.195.224.100#(DNS服务器)

5.配置DNS服务器地址

         sudo gedit/etc/resolv.conf

         添加:nameserver202.195.224.100#(DNS服务器)

         sudo/etc/resolvconf/resolv.conf.d/base

         添加:nameserver202.195.224.100#(DNS服务器)

6.配置用户节点

         sudo gedit/etc/hosts

         将所有计算机的IP地址和计算机(节点)名称匹配

         127.0.0.1  localhost.localdomain localhost

#将第一行修改成这样,否则之后运行程序时会出现问题

172.16.71.123   lxy

172.16.71.147   wjq

7.配置NFS文件系统

         (1)选定一台主机,其他计算机为子节点

         (2)所有计算机安装NFS文件系统

                            sudoapt-get install nfs-kernel-server nfs-common

         (3)安装完成后在每台计算机的根目录下新建一个文件夹mirror,此为共享文件夹

                            sudomkdir /mirror

         (4)刚创建的文件夹的用户和组为root,将之改为之前设定的用户,以lxy为例

                            sudochown lxy:lxy /mirror

         (5)对主机的NFS进行配置

                            sudogedit /etc/exports:

                            将所

         (6)对所有子节点,需要自动挂载到主节点的/mirro目录

                            sudogedit /etc/fstab

                            添加下列信息:

                            主节点名:/mirror /mirrornfs rw,async,auto,exec,nouser,suid 0   0

         (7)在主机上执行下列命令,将/mirror文件夹共享给各个节点

                            sudomount 主节点名:/mirror/ /mirror/ (注意空格)

8.配置SSH服务

         (1)所有计算机节点安装SSH服务:

                            sudoatp-get install ssh

         (2)配置SSH无密码通信,分别在各个节点生成公匙和私匙

                            ssh-keygen–t rsa

                            一路回车,会在HOME(主文件夹)路径下产生一个.ssh文件

                            其中“.“表示隐藏文件/文件夹,Control+H可显示

生成的id_rsa.pub为公匙,将各节点的公匙交换,存入authorized_keys中(一个节点authorized_keys中要包含其他所有节点的公匙)

         (3)关闭防火墙

                            sudoufw disable

9.安装MPICH2

         (1)安装GCC

                            sudoapt-get install build-essential autoconf automake

(2)在NFS文件系统的主节点的/mirror中安装MPICH2

                            下载MPICH2,下载地址 http://www.mpich.org/static/downloads/

本文采用MPICH2-3.0.1,因为新版本剔除了mpd服务,替换为hydra,如需要,可自行百度配置方式

         (3)在/mirror下新建文件夹mpich2,将下载的文件解压到该文件夹中

         (4)cd进入文件夹,进行安装操作

                            ./configure--prefix=/mirror/mpich2 --with-pm=mpd:hydra

                            make

                            sudomake install

10.安装GSL(NFS文件系统主节点)(本文测试程序需要用到GSL)

         (1)下载GSL

下载地址:http://ftp.club.cc.cmu.edu/pub/gnu/gsl/

本文下载为gsl-1.16

         (2)同MPICH2一样,将GSL安装至/mirror/gsl-1.16,方式同上,这里不做赘述

11.配置环境变量(所有节点)

         (1)sudo gedit/etc/profile

                            添加:exportMV2_MPD_RECVTIMEOUT_MULTIPLIER=0.07

(2)gedit ~/.bashrc

                   添加:

                            #mpi

exportPATH=/mirror/mpich2/bin:$PATH

export PATH

LD_LIBRARY_PATH="/mirror/mpich2/lib:$LD_LIBRARY_PATH"

exportLD_LIBRARY_PATH

 

#gsl

exportPATH=$PATH:/mirror/gsl-1.16/bin

exportC_INCLUDE_PATH=$C_INCLUDE_PATH:/mirror/gsl-1.16/include

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mirror/gsl-1.16/lib

exportGSL_LD=/mirror/gsl-1.16/lib

(3)修该mpiexec.py文件,若按之前配置,该文件位于/mirror/mpich2/bin中

                   gedit /mirro/mpich2/bin/mpiexec.py

查找到'MPIEXEC_RECV_TIMEOUT'       :  20

将 20 修改为 50 或更高

注:6中对127.0.0.1 localhost的修改,以及本步中的(1)(3)是为了避免程序运行时No msg recvd from mpd whenexpecting ack of request错误的出现

12.配置mpd(所有节点)

         (1)gedit ~/mpd.hosts

                            添加所有节点名

         (2)gedit ~/.mpd.conf

                            添加:secretword=

            (3) chmod 600 .mpd.conf

13.所有配置完成,重启计算机即可进行测试。

 

你可能感兴趣的:(Ubuntu14.04下基于MPICH2框架的集群搭建)