免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1643 | 回复: 0
打印 上一主题 下一主题

Ubuntu 9.04下MPICH2集群搭建 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-10 15:02 |只看该作者 |倒序浏览

v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}

  Normal
  0
  
  
  
  7.8 磅
  0
  2
  
  false
  false
  false
  
  EN-US
  ZH-CN
  X-NONE
  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
  
  MicrosoftInternetExplorer4
  
   
   
   
   
   
   
   
   
   
   
   
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:普通表格;
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-qformat:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.5pt;
        mso-bidi-font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-ascii-font-family:Calibri;
        mso-ascii-theme-font:minor-latin;
        mso-fareast-font-family:宋体;
        mso-fareast-theme-font:minor-fareast;
        mso-hansi-font-family:Calibri;
        mso-hansi-theme-font:minor-latin;
        mso-bidi-font-family:"Times New Roman";
        mso-bidi-theme-font:minor-bidi;
        mso-font-kerning:1.0pt;}
1概述
1.1编写目的
本文档为大连理工大学软件学院体系结构与高性能计算实验室所编写的Ubuntu环境下MPICH2并行环境搭建手册,目的是为了详细记录MPICH2配置过程,方便系统管理与维护,为实验室积累学习资料。
本文档的预期读者为并行环境的搭建人员、系统管理员以及需要使用MPICH2环境的用户。
1.2定义
MPI       :Message Passing Interface,并行含数据标准
NFS       :Network File System,网络文件系统。
SSH       :Secure Shell Client
GCC      :GNU Compiler Collection,GNU编译器套装
Putty     :一个免费的Telnet/SSH客户端
1.3 系统结构说明
本文档所搭建的系统物理结构如下图所示,文中的说明均按照此结构进行。
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}

  Normal
  0
  
  
  
  7.8 磅
  0
  2
  
  false
  false
  false
  
  EN-US
  ZH-CN
  X-NONE
  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
  
  MicrosoftInternetExplorer4
  
   
   
   
   
   
   
   
   
   
   
   
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:普通表格;
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-qformat:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.5pt;
        mso-bidi-font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-ascii-font-family:Calibri;
        mso-ascii-theme-font:minor-latin;
        mso-fareast-font-family:宋体;
        mso-fareast-theme-font:minor-fareast;
        mso-hansi-font-family:Calibri;
        mso-hansi-theme-font:minor-latin;
        mso-bidi-font-family:"Times New Roman";
        mso-bidi-theme-font:minor-bidi;
        mso-font-kerning:1.0pt;}


  
  
  
  
  
  
  
  
  
  
  
  







注意:在给每个节点安装系统发的时候,请提供一个统一的用户名及密码,此文中使用cluster为统一用户名。方便之后的配置。同时,为每一个节点做好网络配置。过程如下:
首先配置IP:
sudo vi /etc/network/interfaces
配置静态IP地址
,要编辑的内容如下:
auto eth0 ##自动启用第一块网卡
ifconf eth0 inet static
address 192.168.0.30 ##IP地址
netmask 255.255.255.0 ##子网掩码
gateway 192.168.0.1 ##网关
然后配置DNS服务器:
sudo gedit /etc/resolv.conf
nameserver 192.168.3.2 #添加或者更改这一行
重启网络服务:
sudo /etc/init.d/networking restart
1.4参考资料
[1] 王鹏 吕爽等. 并行计算应用及实战.机械工业出版社, 2009,1.
[2] Ubuntu社区,http://wiki.ubuntu.org.cn/index.php?title=UbuntuHelp:Mpich
Cluster&variant=zh-hans
2并行环境搭建——主节点配置
2.1 配置主机名
在主节点(Main Node,也称Node0)上,按下图所示配置/etc/hosts。


图1 配置主机名
注意:对于环回地址127.0.0.1,请配置为localhost而不是主机名
2.2安装NFS文件系统与共享目录
在终端窗口输入如下命令:
sudo apt-get install nfs-kernel-server
安装完成之后,可以使用在终端窗口下输入:
sudo mkdir /mirror                  
该命令会在根目录下创建一个/mirror的目录,该目录就是今后所有节点共享的目录,稍后我们会将MPICH2安装在该目录下,同时可以设置所有节点已启动便挂在该目录,这样,我们可以只在主节点上安装一次MPICH即可。
接下来需要修改该目录所属的用户及组,使用ls –l命令可以看到,刚才创建的/mirror目录属于root用户,需要将它的用户和组改为cluster。使用如下命令更改用户和组:
sudo chown cluster:cluster /mirror     
接着,我们需要对NFS sever做一些配置。如下图所示


图1 配置NFS server
至此,主节点NFS server配置完毕。
提示:安装过程中如有需要可以使用sudo /etc/init.d/nfs-kernel-server restart命令来重启NFS服务。关于NFS server的更多配置,请参见:
http://www.dlog. cn/truelife/diary/3709682

出现过的问题:在配置过程中出现过NFS服务无法正常启动的问题,表现为启动nfs-common服务failed,经查明,该问题是由于在安装nfs-kernel-server的时候由于网络原因一些包无法获取,导致nfs-common没有安装成功。解决的办法是换用合适的更新源。教育网下推荐中科大或者上交的更新源。
2.3安装SSH服务
在终端窗口输入如下命令:
sudo apt-get install openssh-server openssh-client
安装完成之后,我们需要做一些配置使得这些节点之间用ssh登陆的时候不在需要密码。按如下操作:
mkdir
~/.ssh                              

cd  ~/.ssh                                 
ssh-keygen
–t dsa                        

系统会提示:
Generating
public/private dsa key pair.     

Enter
file in which ti save the           

key(/home/user/.ssh/id_dsa):              
#直接按Enter                              
Enter
passphrase (empty for no passphrase):

#直接按Enter,不使用密码                    
Enter
same passphrase again:              

#直接按Enter                              
Your identification
has been saved in     

/home/user/.ssh/id_dsa.            
      

Your
public key has been saved in         

/home/usrer/.ssh/id_dsa.pub.               
The
key fingerprint is :                  

至此,私钥id_dsa和公钥id_dsa.pub已经被成功的生成。接下来要使用该密钥进行访问授权。待所有节点系统安装完毕之后,将主节点下~/.ssh目录下的所有文件拷贝到其他的节点下:
scp –r
~/.ssh node1

scp –r
~/.ssh node2

scp –r
~/.ssh node3

scp –r
~/.ssh node4

之后,检查是否可以直接(不需要密码登陆到其他的节点):
ssh
node1      

ssh
node2      

ssh
node3      

ssh
node4      

如果不需要密码直接登陆其他节点,则表明配置成功。
2.4安装MPICH2
首先安装GCC,在终端输入如下命令:
sudo apt-get
install build-essential

sudo
apt-get install autoconf         

sudo
apt-get install automake         

另外可以选择安装一些开发工具,例如调试使用的gdb等。
接下来,先从
http://www-unix.mcs.anl.gov/mpi/mpich
上下载MPICH2的安装包,然后将其上传到主节点的/mirror目录下(可以使用FTP的方式)。然后解压安装,在终端窗口输入以下命令:
cd
/mirror                                

mkidr
mpich2                              

tar
xvf mpich2-­1.0.5p3.tar.gz         

cd
mpich2­-1.0.5p3                     

./configure
--­prefix=/mirror/mpich2  

make                                
sudo
make install                     

安装完成之后可以在/mirror下面看到MPICH2的安装目录:


接下来需要做的是配置环境变量,使用vi打开~/.bashrc,在文件末尾添加如下语句:


然后保存退出。接着需要配置/etc/environment文件使ssh能够找到MPICH2的安装目录。使用vi打开/etc/environment,在PATH环境变量中添加/mirror/mpich2/bin,效果如图所示:


至此,MPICH2的安装工作完成。可以输入以下命令测试MPICH2是否安装成功:
which
mpd     

which
mpiexec

which
mpirun  

如果安装正确,执行结果如下:


2.5 MPD配置
首先,在cluster的家目录下创建mpd.hosts文件,命令如下:
vi
~/mpd.hosts

接着,将所有节点的名字写入,如下图所示:


保存退出。接着需要配置~/.mpd.conf文件,使用如下命令:
vi ~/.mpd.conf              
在文件中写入如下语句:
secretword=something   #something为任意字符串,所有节点都要设置相同的字符串
保存退出,接着,需要将~/.mpd.conf文件的权限设置为600,使用如下命令:
chmod 600
~/.mpd.conf   

至此,MPD的配置工作完成。用户可以使用mpd &,mpdtrace和mpdallexit测试MPICH2是否正常工作。
3并行环境搭建——客户端配置
3.1安装NFS客户端与SSH
在每一个节点都需要安装nfs客户端与ssh,安装过程与主节点类似。使用如下命令:
sudo
apt-get install nfs-kernel-server #
或者nfs-common
sudo
apt-get install openssh-server openssh-client     

对于SSH,请参见主节点SSH配置一节的操作,如果配置成功,各节点之间访问应该都不需要密码。如果失败,可以重复生成私钥和公钥以及拷贝的操作。
对于NFS,客户节点需要做自动挂载主节点的/mirror目录。使用vi打开各节点的/etc/fstab文件,在文件末尾添加:
node0:/mirror /mirror nfs rw, async, auto, exec, nouser, suid
      0  0                                            

效果如图所示:


保存退出之后,重启系统,如果成功挂载/mirror则说明配置成功。
在成功挂载/mirror目录之后,最后需要做的就是环境变量配置,在~/.bashrc中添加如下语句:


至此,客户端配置完毕。
3.2 测试
首先,在每个节点单独使用mpd &命令测试,看服务是否能正常启动。接着,在主节点进行集群的测试。在主节点终端输入如下命令:
mpdboot
–n 5 –f ~/mpd.hosts

mpdtrace
若配置成功,则运行结果如下,系统会输出每个节点的名字:


出现过的问题:在测试过程中,经常出现mpd进程无法与某个节点建立连接或者无法通信的问题,出现这种问题一是要检查该节点单独启动mpd是否成功,如果成功,则问题一般出现在防火墙的配置上,可以使用如下命令关闭防火墙:
sudo
iptables –P INPUT ACCEPT

sudo iptables
–P OUTPUT ACCEPT

sudo ufw
disable               

更多关于防火墙的设置,请读者自行查找相关资料。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/104586/showart_2090851.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP