这个算是我看到的一个对整个配置过程说的比较全面的文章。
http://www.diybl.com/course/6_system/linux/Linuxjs/20090824/171053.html
前段时间帮同学在linux下配了一个集群环境,参考了一些网上的文章,就把过程写出来,做个参考吧。其实在我们的环境下ssh已经是配置好的,但是我还是把网上看到的写下来,而且这个配置过程我试过,没有什么问题。
创建SSH信任连接
1、更改/etc/hosts文件
vim /etc/hosts
编辑为下面内容:
127.0.0.1 localhost.localdomain localhost
192.168.110.172 scc-m #node01的IP
192.168.110.172 node01 #node01的IP
192.168.110.173 node02 #node02的IP
2、在node01生成SSH秘钥对
ssh-keygen -t rsa 产生.ssh目录
ls -a
查看确认无误
3、生成authorized_keys文件
cd .ssh
进入.ssh目录
cp id_rsa.pub authorized_keys
4、建立本身的信任连接
cd ..
退出到/root目录下
ssh node01
按提示输入yes
5、设置node02
ssh-keygen -t rsa
生成.ssh目录
scp 192.168.110.172:/root/.ssh/* /root/.ssh
拷贝node01上的.ssh文件夹到本地并覆盖本地的该目录
scp 192.168.110.172:/etc/hosts /etc/hosts
拷贝node01上的hosts文件覆盖本地的hosts
ssh node01
提示处输入yes
6、确认两台机器的信任连接已建立
在每个节点试验执行:
ssh node01
ssh node02
如果有提示,在提示处输入yes回车,只要确定无需输入密码就能登陆即可
下面是安装mpich2的过程
二、安装MPICH2
1、到MPICH官方网站下载源代码包,解压缩
tar -zxvf mpich2-1.0.7.tar.gz
2、创建安装目录
mkdir /usr/MPICH-instsll
3、进入mpich2解压到的目录里
cd mpich2-1.0.7
4、下面就是编译安装软件的那三个基本步骤——检查配置、编译、安装,这次在./configure后还设置了安装目录
./configure –prefix=/usr/MPICH-install
5、修改环境变量(编辑.bashrc文件)
vim .bashrc
修改环境变量为(新增PATH一行):
# .bashrc
# User specific aliases and functions
PATH="$PATH:/usr/MPICH-install/bin" #这个地方用自己的安装路径,我们是以普通用户的权限来安装的,所以路径不是这样。
alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
6、测试环境变量设置,下面是我测试成功的屏显:
[user@node01 ~]$ which mpd
[user@node01 ~]$ which mpicc
[user@node01 ~]$ which mpiexec
[user@node01 ~]$ which mpirun
7、修改/etc/mpd.conf文件,内容为secretword=myword
vim /etc/mpd.conf # 自己创建,并写入secretword=myword保存,由于我们没有root权限,所以我改在主目录下建立.mpd.conf文件并写入内容
设置文件读取权限和修改时间戳
chmod 600 /etc/mpd.conf
touch /etc/mpd.conf # touch .mpd.conf,写入之后这一步可以省略
8、创建主机名称集合文件/root/mpd.hosts # 同样我们在主目录下创建该文件并写入内容
vim mpd.hosts
文件内容如下:
node01
node02
三、测试
1、本地测试
启动:
mpd &
观看启动机器:
mpdtrace
退出:
mpdallexit
2、运行集群系统
mpdboot -n 2 -f mpd.hosts
参数-n 2指定了要起动的机器个数,-f mpd.hosts指定了通过mpd.hosts运行
mpdtrace
mpdallexit
3、测试运行MPICH的程序
mpdboot -n 2 -f mpd.hosts
启动这两台机器
mpiexec -n num /example/hello
用num指定使用的进程数
mpdallexit
四、查错
1、通过mpdcheck获得帮助信息
mpdcheck -pc
2、查错
mpdcheck -l
3、通过mpd.hosts文件查错
mpdcheck -f mpd.hosts
如果无错误
mpdcheck -f mpd.hosts -ssh
4、对任意两台机器进行查错
node01上:
mpdcheck -s
返回主机名host和端口port
node02上:
mpdcheck -c host port
5、mpd查错
node01上:
mpd -e &
返回使用的端口
node02上:
mpd -h m1 -p echoed_port_m1 &