Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103121072
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-28 22:00:39

 
文章来源中国IT实验室收集整理

    1.安装

    安装过程就不多说了。需要注意的是安装时,如果机群不与外界联网则可以不考虑安全

    方面的因素而把rsh选为可信赖的服务,注意安装相应的软件包;如果还要与外界保持联

    网,出于安全需要应把ssh选为可信赖的服务。安装以后,应该保证各节点之间能够用s

    sh相互登录。每个节点的sshd都应该能正常提供服务。主机名:node1...noden (我所构

    建的系统n=2)

    2.创建NFS服务

    在节点public目录下建立mpi目录,并将其配置成NFS,在/etc/exports文

    件中加入一行:

    /public/mpi node1(rw) node2(rw)

    在客户端节点的/etc/fstab文件中增加一行:

    sever :/pubilc/mpi nfs rw , bg , soft 0 0

    将/public/mpi这个目录从服务器节点输出,并装载在各客户端,从而便于在各节点间分

    发任务

    3.修改/etc/hosts文件,将所有节点名称极其ip地址填入。例如:

    127.0.0.1 localhost.localdomain localhost

    192.168.1.1 node1

    192.168.1.2 node2

    …………………….

    每个节点都进行类似的配置。这样做的目的是使节点之间能够通过node1 ... noden的名

    称相互访问。你可以通过ping noden 或 ssh noden进行测试。

    4.修改(或创建)/etc/hosts.equiv文件

    将所有你允许访问本机进行mpi计算的机器名填入,一行一个机器名。这一步是为了使节

    点对其它的节点放权。

    例如,我的node1是我用于启动mpi集群计算的机器,其他的节点是参与计算者,在node

    1的/etc/hosts.equiv文件是这样的:

    node1 #给自己放权,这样在只有一台机器时也可以模拟并行计算环境

    node2

    .....

    noden

    在node2...noden的/etc/hosts.equiv文件:

    node1 #对node1放权

    node2

    ......

    noden

    5.修改~/.bash_profile文件

    首先决定一个用于启动集群计算的用户名,不提倡使用root进行集群计算。这里在每个

    节点上建立新用户chief,他们的主目录都是/home/chief,必须采用同样的密码,将来

    的计算程序必须放在相同的路径上。譬如你的程序为:fpi.f和a.out,则必须把a.out放

    在同样的路境内,比如~/mpirun/a.out,每个节点都是如此。 修改~/.bash_profile文

    件,主要是加入下列几行脚本:

    export PATH=$PATH:/usr/local/mpich/bin

    export MPI_USEP4SSPORT=yes

    export MPI_P4SSPORT=22

    export P4_RSHCOMMAND=rsh 或ssh

    这里我们预定了将来mpich的运行环境安装在目录/usr/local/mpich下面。其余的三个变

    量是用来通知mpi运行环境采用rsh(或ssh)来作为远程shell。的运行环境到此就配

    置完毕了。

    6.配置rsh 或ssh

    对于采用rsh来作为远程shell运行MPI的用户只要保证在各个节点上都具有相同的用户,

    并把这一用户的密码设为空密码就可以运行了。

    若采用ssh作为远程shell则按如下配置:以你设定的用于启动mpi计算的用户登录,运行

    ssh-keygen,这将生成一个私有/公开密钥对,分别存放在~/.ssh/identity和~/.ssh/i

    dentity.pub文件内。然后进行访问授权,运行:

    cp ~/.ssh/identity.pub ~/.ssh/authorized_keys

    chmod go-rwx ~/.ssh/authorized_keys

    ssh-agent $SHELL

    ssh-add

    在每个节点重复一遍。试着在某一节点上登录其它节点,ssh noden,则在.ssh/下生成

    一个known_hosts2文件,里面放着访问该主机的密钥,把所有密钥收集起来,在各个节

    点上作同样的拷贝。这样做的目的是使各节点相互之间访问无需输入密码。

阅读(291) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~