MS 5.0 Linux 版小集群并行安装手记(转)

以安装MS5.0为例,介绍在Linux集群环境中配置MS的方法步骤:


1.操作系统环境说明


客户端要求是Windows XP Professional - SP3或Vista (Business & Enterprise Editions) SP2,客户端只支持32位操作系统,也就是说装了64位的操作系统也无法用64位计算,只能运行在兼容32位模式下。

 

服务器端硬件现在一般是IA32或x86-64,后者较多,操作系统一般有windows、UNIX和LINUX。如果是用windows系列,可以用以下几种:
 ?Windows Server 2003, all editions - SP2 and R2
 ?Windows Server 2008, all editions - SP2
 ?Windows XP Professional - SP3
 ?Windows Vista (Business & Enterprise) - SP2


如果用UNIX系列(包含LINUX)可以用以下几种:
 ?x86 (32-bit)
 Red Hat Enterprise Linux AS, ES, and WS - 4.7 and 4.8
 SUSE? Linux Enterprise Server 10 (SP1 and SP2)
 ?x86-64 (64-bit)
 Red Hat Enterprise Linux AS, ES, and WS - 4.7 and 4.8
 Red Hat Enterprise Linux - 5.3 and 5.4
 Red Hat Enterprise Linux Desktop - 5.3 and 5.4
 SUSE Linux Enterprise Server - 10 (SP1 and SP2) and 11


系统一般最小化安装就可以,不需要图形界面,但所有节点都要安装一些补丁,下面我以64位centos 4.8版为例,其他版本请参考README_Materials_Studio.htm中关于system_requirements_info部分:
 glibc-2.3.4-2.43 (32-bit and 64-bit)
 libgcc-3.4.6-11 (32-bit and 64-bit)
 libstdc++-33-3.4.6-11 (32-bit and 64-bit)
 compat-libstdc++-33-3.2.3-47.3 (32-bit)
 hpmpi-2.03.01.00-20090402r.x86_64


这里要注意,除了HPMPI以外,其他都要同时安装32位和64位两种版本HPMPI也要在所有参与计算的节点上安装。


2.SSH和RSH免认证设置,一般都是使用SSH免认证登录。


首先确认rsh-server包是否安装,方法参考Installing Materials Studio on a Linux cluster中的部分内容或网上搜索,很多教程。


HP-MPI使用rsh的话要保证各节点间可以免认证访问,这可以通过创建或修改/etc/hosts.equiv文件来实现,一般来说,hosts.equiv中要包含这样的内容:
localhost
节点1机器名
节点2机器名
……
节点n机器名


如果要使用SSH的话,首先要确认SSH服务是否安装,一般来说,SSH服务默认是安装的,测试方法如下:
ssh localhost


如果已经安装,你可以看提示符换行,并切换到当前用户的用户目录,如果没有出现这样的提示的话,就不能使用对称多处理器并行,需要检查SSH是否可用。


如果出现要求你输入密码的提示符,你就需要进行SSH免认证设置。当你第一次采用SSH登录时一般会看到以下提示:
The authenticity of host 'dewer2 (133.27.92.5)' can't be established.
RSA key fingerprint is cf:d6:77:c6:db:42:99:6f:11:07:f3:38:46:7b:f9:05.
Are you sure you want to continue connecting (yes/no)?
回答yes继续,片刻后,看到一个新的提示符.


配置SSH免认证登录的方法如下:

(可参考我的博文:配置Linux之间SSH互信连接
为当前安装MS网关的用户创建一个公钥对,方法如下:
$> ssh-keygen -t rsa
不要输入任何密码字符串,只回车三次就可以了。
产生的密钥放于~/.ssh目录下的id_rsa 和id_rsa.pub文件中,将id_rsa.pub文件另存为 authorized_keys。
改变读写权限,保证目录~./ssh和里面的文件不被其他任何用户访问,否则无法实现免认证登录,操作方法如下:
切换路么到保存密钥之处
cd ~/.ssh
设置权限
chmod 600 *
设置目录访问权限
chmod 700 .
Materials Studio用户的主目录必须设为对其他用户只读权限,如果其他用户有写权限的话,SSH还要要求输入密码,操作过程如下:
切换到用户的主目录
cd ~
改变权限,命令如下:
chmod 755 .
在各节点进行同样的操作,然后将所有id_rsa.pub的内容全并到一个文件里并命名为 authorized_keys2,放到每一个节点的~/.ssh路径下。这样应该就可以做到免认证SSH了,如果还提示要输入密码的

话再仔细检查一下上述各步是否有误。
注意,MS的安装用户一定是非root用户,否则无法实现免认证登录,也无法实现多节点并行。


3.MS安装


先将MS文件上传到主节点,可以以打包的形式上传,也可以先做成ISO,我一般是习惯先做成ISO上传,以免出现权限不够的问题,遇到权限不够的时候改变文件属性,加上执行权限就可以了。


上传后将ISO文件挂载到某一目录下,如果想挂到根目录下mnt目录下的iso目录中,命令如下(root用户):
mount -o loop -t iso9660 ms50_unix.iso /mnt/iso


在主节点上切换到MS安装用户,本人用的是msi,然后到换到/mnt/iso/UNIX下执行./Install --type cluster,或是直接./mnt/iso/UNIX/Install --type cluster
--type cluster这个参数是并行时必须的加的参数,另一个要注意的就是要用非root用户安装。


安装过程中其他基本上用默认的就可以,但有一个临时文件夹建 议不要放在共享目录下,每个节点放一个tmp,这样可以减少节点间的通信量,提高性能。比如说我的安装目录是/home/msi/Accelrys /MaterialsStudio50,Accelrys是我要共享给其他节点的目录,那tmp我就放在/home/msi/下,用MS的用户创建,保证 可写入。其他每个节点的用户目录下都创建一个tmp目录。安装完成后将Accelrys目录共享给其他节点。


先将Accelrys共享,编辑/etc/exports,加入下面一行内容:
/home/msi/Accelrys    *(rw,no_root_squash)
保存退出后,重启NFS服务
service nfs restart
然后到其他节点上,su root,输入密码,执行以下命令:
mount -t nfs   主节点名:/home/msi/Accelrys /home/msi/Accelrys
再将hosts.equiv文件放在/etc下和/home/msi/Accelrys/etc下.


将licenses里第一行中的机器名改为你的主节点的机器名后,文件名改为msi.lic放到/home/msi/Accelrys/LicensePack/Licenses里


修改
/home/msi/Accelrys/MaterialsStudio50/share/data下的machines.LINUX,写上各节点的机器名:CPU数。修改/home/msi/Accelrys/MaterialsStudio50/etc/Gateway/root_default/dsd/conf里两个文件里的CPU数为你各节点CPU总数。


重新启动网关,进入/home/msi/Accelrys/MaterialsStudio50/etc/Gateway,执行
./msgateway_control_18888 start


到此,LINUX下的安装结束。


回到windows下,配置服务控制台,加入新的网关,然后测试是否可用,如有问题再回头一下排查。


常见问题:


MS安装好后远程无法连接服务?


解决办法:关闭系统防火墙。service iptables stop or chkconfig --level 235 iptables off,然后重启机器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值