Ubuntu 10.04下MPICH2配置详解

来源:互联网 发布:爱知重庆 编辑:程序博客网 时间:2024/04/29 08:54

1。在所有节点配置主机名:sudo gedit /etc/hosts

192.168.100.100 stanford-desktop            //这是我的主结点
192.168.100.200    client-desktop
192.168.100.230 server-desktop

 

2. 安装NFS文件系统和共享目录

在终端窗口输入如下命令:
sudo apt-get install nfs-kernel-server
安装完成之后,可以使用在终端窗口下输入:
sudo mkdir /mirror                 
该命令会在根目录下创建一个/mirror的目录,该目录就是今后所有节点共享的目录,稍后我们会将MPICH2安装在该目录下,同时可以设置所有节点已启动便挂在该目录,这样,我们可以只在主节点上安装一次MPICH即可。
接下来需要修改该目录所属的用户及组,使用ls –l命令可以看到,刚才创建的/mirror目录属于root用户,需要将它的用户和组改为stanford。使用如下命令更改用户和组:
sudo chown stanford:stanford /mirror    
注意:在给每个节点安装系统发的时候,请提供一个统一的用户名及密码,此文中使用stanford为统一用户名。方便之后的配置。

接着,我们需要对NFS sever做一些配置。sudo gedit /etc/exports

/mirror    client-desktop(rw,sync)
/mirror server-desktop(rw,sync)

安装过程中如有需要可以使用sudo /etc/init.d/nfs-kernel-server restart命令来重启NFS服务

 

3. ssh无密码互通

   3.1.确认ssh可以运行
       3.1.1. 修改sshd_config文件:sudo gedit /etc/ssh/sshd_config
       3.1.2. 将#PasswordAuthentication no中的#去掉
       3.1.3. 重新启动SSH服务,命令为:/etc/init.d/sshd restart
       3.1.4. 验证SSH服务状态,命令为:/etc/init.d/sshd status 

 

  3.2. 设置stanford-desktop
      3.2.1 生成ssh密钥对:ssh-keygen -t rsa 一路回车即可.
      3.2.2 查看是否有.ssh文件夹:ls -a
      3.2.3 进入.ssh目录:cd .ssh
      3.2.4 生成authorized_keys文件:cp id_rsa.pub authorized_keys 
      3.2.5 建立本身的信任连接:ssh stanford-desktop 输入yes 无需密码

  3.3.设置client-desktop
     3.3.1 生成ssh密钥对:ssh-keygen -t dsa (dsa与stanford-desktop的rsa设置不要相同)
     3.3.2 进入.ssh目录:cd .ssh
     3.3.3 生成authorized_keys文件:cp id_dsa.pub authorized_keys
     3.3.4 建立本身的信任连接:ssh client-desktop 输入yes 无需密码
   
 3.4.设置server-desktop的方法与stanford-desktop,client-desktop相同

 

  3.5.关键步骤
    3.5.1 将client-desktop,server-desktop的authorized_keys内容追加至stanford-desktop的authorized_keys文件中。
    3.5.1.1 client-desktop: cat authorized_keys 复制内容
    3.5.1.2 stanford-desktop: gedit authorized_keys 在最末行添加复制。
          server-desktop 同上述操作相同
    3.5.2 将以追加的文件authorized_keys覆盖client-desktop,server-desktop上的authorized_keys文件。
    3.5.2.1 登陆client-desktop:scp stanford-desktop:~/.ssh/authorized_keys  ~.ssh/authorized_keys
   3.5.2.2 登陆server-desktop:scp stanford-desktop:~/.ssh/authorized_keys  ~ /.ssh/authorized_keys

3.6.确认机器的信任连接已建立
   3.6.1 对每台机器执行:ssh stanford-desktop; ssh client-desktop; ssh server-desktop在提示处输入yes回车。

4. 安装MPICH2

首先安装GCC,在终端输入如下命令:

sudo apt-get install build-essential

sudo apt-get install autoconf        

sudo apt-get install automake    

   

下载MPICH2源码包

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                     

 

接下来需要做的是配置环境变量,使用gedit ~/.bashrc,在文件末尾添加如下语句(每个节点下都配置)

export PATH="$PATH:/mirror/mpich2/bin"
export PATH
export LD_LIBRARY_PATH="/mirror/mpich2/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH

接着需要配置/etc/environment文件使ssh能够找到MPICH2的安装目录。使用sudo gedit /etc/environment,在PATH环境变量中添加/mirror/mpich2/bin(每个节点下都配置)

PATH="/mirror/mpich2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

 

5. mpd配置

首先,在stanford-desktop的家目录下创建mpd.hosts文件,命令如下:

gedit ~/mpd.hosts

接着,将所有节点的IP写入

192.168.100.100
192.168.100.200
192.168.100.230

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

chmod 600 ~/.mpd.conf   

至此,MPD的配置工作完成。用户可以使用mpd &,mpdtrace和mpdallexit测试MPICH2是否正常工作。


6. 客户端配置
在每一个节点都需要安装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文件,在文件末尾添加:

stanford-desktop:/mirror /mirror nfs rw, async, auto, exec, nouser, suid       0  0

 

7. 如果出现问题可以试试关闭防火墙

sudo iptables –P INPUT ACCEPT

sudo iptables –P OUTPUT ACCEPT

sudo ufw disable

参考:http://blog.chinaunix.net/u3/104586/showart_2090851.html
            http://night85.blog.51cto.com/231209/280995