您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux集群的安装和并行计算

添加时间:2011-1-8  添加: admin 

1.linux安装
安装过程就不多说了。需要注意的是安装时,如果机群不与外界联网则可以不考虑安全
方面的因素而把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
1Array2.168.1.1 node1
1Array2.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。linux的运行环境到此就配
置完毕了。
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文件,里面放着访问该主机的密钥,把所有密钥收集起来,在各个节
点上作同样的拷贝。这样做的目的是使各节点相互之间访问无需输入密码。
7.开启各项必需的服务
如果是以根用户root 登陆系统的则可以用ntsysv命令启动ntsysv实用程序。ntsysv 实
用程序允许使用简单的菜单界面启动或关闭各种运行等级的服务。在其中我们选择开启
rsh ,rlogin,telnet等。也可以关闭一些服务以加快启动速度如sendmail。
如果是使用su命令转为root用户的则很可能运行ntsysv并不出现ntsysvs实用程序。此时
可以直接去修改/etc/xinetd.d下的rlogin, rsh ,telenet的设置。用vi编辑器打开xin
etd.d:
vi /etc/xinetd.d
则可看到如下所示的配置文件:
关于rsh的设置如下
# default: off
# deion: The rshd server is the server for the rcmd(3) routine and, \
#       consequently, for the rsh(1) program.  The server provides \
#       remote execution facilities with authentication based on \
#       privileged port numbers from trusted hosts.
service shell
{
       disable = yes
       socket_type             = stream
       wait                    = no
       user                    = root
       log_on_success          += USERID
       log_on_failure          += USERID
       server                  = /usr/sbin/in.rshd
}
关于rlogin的设置如下
# default: off
# deion: rlogind is the server for the rlogin(1) program.  The server

#       provides a remote login facility with authentication based on \
#       privileged port numbers from trusted hosts.
service login
{
       disable = yes
       socket_type             = stream
       wait                    = no
       user                    = root
       log_on_success          += USERID
       log_on_failure          += USERID
       server                  = /usr/sbin/in.rlogind
}
关于telnet的设置如下
# default: off
# deion: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
所有这些服务在安装完系统之后都是默认为禁用的,要进行修改来打开这些服务。如要
通过修改启动telenet则就需要改disable = yes为disable = no。对于其他的服务的启
动的修改与之相同。若启动这些服务则只需要简单执行:
#/etc/rc.d/init.d/xinetd restart
或重起计算机就可以使所作的更改生效。
C.在服务器节点编译、安装FortranArray0编译器
先将FortranArray0(我用的是Intel的)编译器拷贝至/tmp下,然后用tar xvfz fortranArray0
.tar.gzj解压缩。运行
./install
选择你所要安装的类型,如果你的机器是基于IA-32,就选择1。如果你的机器是基于It
anium(TM)-based system就选择2。如果要停止安装,就选择X。选择过之后安回车进入
下一步,此时会要求你选择 :
1.      Intel(R) Fortran Complier for 32-bit Applications,Version 6.0 build 02031
2Z
2.      2.Linux Applicationdebugger for 32-bit Applications,Version 6.0 buid 2002
0
x.  Exit
按顺序选择1,2 。最后选择X 完成安装并退出。在选择完1之后会要求你看版权声明,
输入Accept继续安装。默认的安装路径为/opt/intel,选择默认路径按Enter继续。选2之
后的情形与1相同。如果不注册可以用Array0天。
D.      在服务器节点编译、安装mpich 1.2.3
将mpich 1.2.4:ftp://ftp.mcs.anl.gov/pub/mpi/mpich.tar.gz。拷贝到一个临时目录
下,放在/tmp下了。用root用户登录进行编译安装。
1. 对mpich的安装进行预处理:
首先,用tar xvfz mpich.tar.gz解压。生成mpich-1.2.3目录。切换到mpich-1.2.3目录
。运行预处理:
./configure --prefix=/usr/local/mpi        --对应于用rsh进行远程登录的系统
./configure --prefix=/usr/local/mpi -rsh=ssh     --对应于用ssh进行远程登录的
系统
这里我们通知编译系统mpich的安装位置为/usr/local/mpich,运行环境的远程shell为
rsh或ssh。
2.编译:
make
运行此命令后mpich软件包会自动编译形成MPI系统的函数库,需要数分钟的时间,根据
不同的机器可以略有不同。
3.安装:
make install
运行此命令可以将MPI软件包安装到由./configure --prefix选项指定MPICH安装目录即
/usr/local/mpi
修改文件/usr/local/mpi/share/util/machines/machines.LINUX。如下:
node1
ndoe2
......
ndoen
这一步是通知mpich运行环境都有那些节点可供集群计算。每个节点都这样输入一遍。
4.测试安装是否正确
  在/usr/local/mpi/examples/basics下编译cpi.c:
  make cpi
用命令行:
../../bin/mpirun -np 2 cp
运行。将会获得如下信息。
Processes 0 on node1
Processes 1 on node2
……..………………..
如果能正常运行即证明mpich软件包安装完全成功。

关键字:集群、NFS服务

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站