设为主页
加入收藏
联系我们
返回首页
 
 
网吧技术 网吧经营 网管心声 网吧名站
 
   
  您现在的位置>>首页>>网吧技术  
 
     
 

 

Linux系统集群的安装与并行计算

文章来源:chinaunix


1.linux 安装
   安装过程就不多说了。需要注意的是安装时,如果机群不与外界联网则可以不考虑安全方面的因素而把 rsh 选为可信赖的服务,注意安装相应的软件包;如果还要与外界保持联网,出于安全需要应把 ssh 选为可信赖的服务。安装以后,应该保证各节点之间能够用 ssh 相互登录。每个节点的 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 集群计算的机器,其他的节点是参与计算者,在 node1 的 /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/identity.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 编辑器打开 xinetd.d:
vi /etc/xinetd.d
   则可看到如下所示的配置文件 :
   关于 rsh 的设置如下
# default: off
# description: 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
# description: 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
# description: 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. 在服务器节点编译、安装 Fortran90 编译器
   先将 Fortran90 (我用的是 Intel 的)编译器拷贝至 /tmp 下,然后用 tar xvfz fortran90
.tar.gzj 解压缩。运行
./install
   选择你所要安装的类型,如果你的机器是基于 IA - 32, 就选择 1 。如果你的机器是基于 Itanium(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 相同。如果不注册可以用 90 天。
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 软件包安装完全成功。


【本站声明】本站刊载的部分内容全部来源互联网,对于此类文章本站仅提供交流平台,不为其版权负责。如涉及侵犯您的知识产权的文章,请联系我们,我们将尽快做出更正。并向您表示感谢!同时特别感谢对本站所有支持的网友。

 
 
综合搜索 百度 google 爱问 搜狗 中搜 雅虎 MP3 图片 flash 视频
您好!中国好用是残疾人创办站,欢迎你设为首页,你每一次的使用,就是一份爱心,对我们来说就是一份希望......