准备工作:
1、设置 IP(在这里我们设置 c1、c2、c3、c4 的 ip 地址分别为 192.168.0.1、192.168.0.2、192.168.03、192.168.0.4)
#vi /etc/sysconfig/network-script/ifcfg-eth[0、1、2、3]其中数字与所修改的机器网卡实际编号一致
#service network restart
每个节点都要进行上面的操作
2、更改主机名为 c1、c2、c3、c4
#vi /etc/sysconfig/network
HOSTNAME=c1
c2、c3、c4 操作和 c1 相同
例如:
[root@c2 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=c2
一、创建 SSH 信任连接(在 root 目录下)
1、更改/etc/hosts 文件
#vi /etc/hosts 打开 hosts 文件,更改如下:
127.0.0.1 localhost.localdomain localhost
192.168.0.1 c1
192.168.0.2 c2
192.168.0.3 c3
192.168.0.4 c4
例如:
[root@c2 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.1 c1
192.168.0.2 c2
192.168.0.3 c3
192.168.0.4 c4
2、在 c1 生成 SSH 秘钥对.
#ssh-keygen -t rsa 回车即可,产生.ssh 文件, 口 令 选 为 空 , 生 成 密 钥 对 , 公 钥 写 入 /root/.ssh/id_rsa.pub, 密 钥 写 入/root/.ssh/id_rsa
#ls -a 查看是否有.ssh 文件夹
3、生成 authorized_keys 文件建立对 c2 的信任连接
#scp /root/.ssh/id_rsa.pub 192.168.0.2:/root/.ssh/
#ssh 192.168.0.2 cat /.ssh/id_rsa.pub>>/root/.ssh/authorized_keys
查看 c2 是否有 authorized_keys 文件,有则将 id_rsa.pub 内容复制进c2 该文件
#scp /root/.ssh/id_rsa.pub 192.168.0.2 /.ssh/authorized_keys
无则将 id_rsa.pub 复制为远程该文件
4、退出到 root 目录
#cd ..
5、建立本身的信任连接
#ssh c2 按提示输入 yes(三个字母要打全)
设置 c1 对 c3 和 c4 的方法与 c1 相同
6、对 c2、c3 和 c4 进行类似上面的操作
7、确认 3 台机器的信任连接已建立
对每个节点执行:
#ssh c1
#ssh c2
#ssh c3
#ssh c4
在提示处输入 yes 回车,最后确定无需输入密码并且没有任何提示信息即可登陆("Lastlogin:时间日期"提示信息除外)
二、安装 MPICH2(在节点 root 目录下)
1、解压缩
#tar -zxvf mpich2-1.0.1.tar.gz
或者 #gunzip -c mpich2-1.0.1.tar.gz|tar xf mpich2-1.0.1.tar
2、创建安装目录
#mkdir /usr/MPICH-install
3、进入 mpich2 解压目录
#cd mpich2-1.0.1
4、设置安装目录
#./configure --prefix=/usr/MPICH-install
5、编译
#make
6、安装
#make install
7、退出到 root 目录
#cd ..
8、通过编辑.bashrc 文件修改环境变量
#vi .bashrc
修改后的.bashrc 文件如下:
# .bashrc
# User specific aliases and functions
PATH=$PATH:/usr/MPICH-install/bin 新增加的
#Source .bashrc
9、测试环境变量设置
#which mpd
#which mpicc
#which mpiexec
#which mpirun
10、修改/etc/mpd.conf 文件,内容为 secretword=myword
#vi /etc/mpd.conf
设置文件读取权限和修改时间
#touch /etc/mpd.conf
#chmod 600 /etc/mpd.conf
11、创建主机名称集合文件/root/mpd.hosts
#vi mpd.hosts
文件内容如下:
C1
C2
C3
c4
三、测试
1、本地测试
#mpd & 启动
#mpdtrace 观看启动机器
#mpdallexit 退出
2、通过 mpd.hosts 运行集群系统
#mpdboot -n number -f mpd.hosts number 为要起动的机器个数#mpdtrace
#mpdallexit
3、测试运行 MPICH 的例子程序
#mpdboot -n 4 -f mpd.hosts 启动 4 台机器
#mpiexec -n number /usr/MPICH-install/examples/cpi number 为使用的进程数#mpdallexit
4、如果测试不能通过,请进行第四步
四、问题解决
1、通过 mpdcheck 获得一写帮助信息
#mpdcheck -pc
2、查错
#mpdcheck -l
3、通过 mpd.hosts 文件查错
#mpdcheck -f mpd.hosts 如果无错误
#mpdcheck -f mpd.hosts -ssh
4、如果上述无错误,可略过此步
对任意两台机器进行查错
m1: #mpdcheck -s 输出主机名 host 和端口 port
m2: #mpdcheck -c host port
注意:以上四步都是在没有运行 mpd 的情况下进行的
5、mpd 查错
m1: #mpd -e & 返回使用的端口
m2: #mpd -h m1 -p echoed_port_m1 &
完成安装