MPICH2(1.2.1) Debian6 安装配置参考
来源:互联网 发布:淘宝 账号 霸王条款 编辑:程序博客网 时间:2024/06/07 01:43
文章参考:http://www.xxlinux.com/linux/article/accidence/install/20070514/8413.html 《mpich2安装全过程》
由于安装的过程有些改变,故重新组织,以及加了很多自己的弯路,申明不一定能完全复制就能安装成功,因为我也不懂。
MPICH2的主要安括 SSH、NFS、MPICH2
其中NFS是很必要的,否则编译好的程序总是要拷贝几次,那是相当痛苦的。
以下的安装为普通用户,各node的用户名,密码都一样。
Debian下要安装ssh服务器,Debian安装的时候已经选择ssh服务器,故不需要再重新安装
node02上要安装客户端
$sudo apt-get install rsh-client
一、创建SSH信任连接
1、更改/etc/hosts文件-----〉这里要每个node都要修改
$sudo vim /etc/hosts 打开hosts文件,更改如下:
127.0.0.1 localhost.localdomain localhost
node01的IP node01 这是不能用原系统的 127.0.0.1 node01 否mpd启动的时候会有提示。
node02的IP node02
node03的IP node03
2、在node01生成SSH秘钥对.
产生.ssh文件夹。
$ls -a 查看是否有.ssh文件夹
3、进入.ssh目录
$cd .ssh
4、生成authorized_keys文件
$cp id_rsa.pub authorized_keys
或者用 $cat id_rsa.pub>authorized_keys
5、退出到root目录
$cd ..
6、建立本身的信任连接
$ssh node01 按提示输入yes(三个字母要打全)
7、设置node02(node02的root目录下)
$scp ~/.ssh/ id_rsa.pub node02:~/.ssh/2.key
原文把RSA的公钥和私钥都拷过来了,其实只要 id_rsa.pub就行了
再在node01将node02公钥合并
$cat 2.key >> authorized_keys
再将此公钥分发给node2
$scp ~/.ssh/authorized_keys node02:~/.ssh/
如果有多个节点,也要合并其他节点的公钥。再分别在各个机子上ssh相互间登录下,输入一次密码。以后就不用再输入了,
8、确认2台机器的信任连接已建立
对每个节点执行:
$ssh node01
$ssh node02
在提示处输入yes回车,最后确定无需输入密码并且没有任何提示信息即可登陆("Last login:时间日期"提示信息除外)
如果还需密码可以用命令:
$ssh-add id_rsa
这里本来已经安装好的,但是之前用vmware的虚拟机练手的时候就是不能用,总是出错,单机MPICH2的程序可以跑,指定node的时候也可以跑,
但是跨节点算的时候就是不行,最后安装了实际的Debian后,可以用,没有问题,原因不知。
二、安装MPICH2
Debian下我的node01服务器,早就安装MPICH2.所以采用apt方式安装
在node02上
$sudo apt-get install mpich2
我是安装PETSc所以实际安装的有:
$sudo apt-get install petsc-dev petsc3.1-doc libpetsc3.1 libpetsc3.1-dev libpetsc3.1 libpetsc3.1-dbg
后来node02补充安装 openmpi, PS:因为我的主服务器上装了太多的东西,整个IDE,库都在上面,所以不敢随便调,只能需要什么给什么.
$sudo apt-get install openmpi-common openmpi*
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-instsll
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 Debian下mpich2的稳定版本是1.2.1而网上下的一般是1.2.5新版本下没有mpd,只是hydra,其实是更方便的东西,轻量级
$which mpiexec
$which mpirun
10、修改/etc/mpd.conf文件,内容为secretword=myword
#vi /etc/mpd.conf
普通用户为
$vim ~/.mpd.conf 是隐藏文件
加入 MPD_SECRETWORD=mypassword 一行
$touch ~/.mpd.conf
$chmod 600 ~c/.mpd.conf
11、创建主机名称集合文件 ~/mpd.hosts
$vim mpd.hosts
文件内容如下:
node01
node02
1、本地测试
$mpd & 启动
$mpdtrace 观看启动机器
$mpdallexit 退出 这个最好不要在node02等运算节点上运行,否则会出错、原因不知。
2、通过mpd.hosts运行集群系统
$mpdboot -n number -f mpd.hosts number为要起动的机器个数
$mpdtrace 可以看到node01和node02
$mpdallexit
3、测试运行MPICH的例子程序
$mpdboot -n 2 -f mpd.hosts 启动2台机器
$mpiexec -n number /home/myname/NFSdir/cpi number为使用的进程数
也可以 $mpiexec -n 10 -H node01 -n 20 -H node02 /home/myname/NFSdir/cpi 这样指定各个节点的进程数
$mpdallexit4、如果测试不能通过,请进行第四步
网上传出问题比较多可能是防火墙。ps -A看看进程里有没有iptable进程就知道有没有开防火墙了,可以关,也可以设置防火墙。庆幸未安装,所以省了点事。
四、问题解决
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 & 返回使用的端口 在node01上运行
m2: $mpd -h m1 -p echoed_port_m1 & 在node02或者其它普通节点上运行
五、NFS安装
本机上NFS也已经安装,不过还是查看一下比较好
node01服务器上
$apt-get install nfs-common nfs-kernel-server portmap
node02普通节点上
$apt-get install nfs-common portmap
修改主机/etc/exports加入行
/home/myname/NFSdir node02(sync,rw,secure,no_root_squash)
然后重启NFS服务
$sudo /etc/init.d/nfs-kernel-server restart
$exportfs -rv
输出NFS,这里原则上不应该有什么错误。
然后在node02上
$mkdir /home/myname/NFSdir
$sudo mount -t nfs node01:/home/myname/NFSdir /home/myname/NFSdir
这样应该就没什么问题了,网上说对NFS文件夹 $chown nobody.nogroup /home/myname/NFSdir结果NFS不能写入
只能 $chmod a+w NFSdir来解决
好了,备注完了,还要调LAPACK和mpich2的问题,以上安装有些多余的部分,以后再来精简,希望能对人有用。
- MPICH2(1.2.1) Debian6 安装配置参考
- MPICH2安装和配置
- debian6.0 安装配置snmp
- debian6.0 安装与配置
- (转)MPICH2安装配置2
- mpich2的安装与配置
- ubuntu16.04安装配置mpich2
- (转)windows 下 MPICH2安装与配置
- Debian6.0安装后系统基本配置
- Debian6.0安装后系统基本配置
- debian6 安装后的初始配置
- debian6 安装后的初始配置
- Debian6.0.6-live中文配置安装小结
- MPICH2简单的安装配置总结
- MPICH2简单的安装配置总结
- MPICH2安装、配置总结和问题
- win7下 MPICH2 的安装配置问题
- Ubuntu下安装配置MPICH2.1.4
- unix进程状态转换
- 谁E语言
- ZOJ 题目分类 Simulation Problems
- 精美网页制作素材
- Java基础23天--05--网络编程(TCP和UDP)
- MPICH2(1.2.1) Debian6 安装配置参考
- devexpress xtrareport
- 这是冒泡排序的变种吗? 冒泡排序和选择排序
- Java基础24天--01--网络编程(TCP--上传图片)
- create a function returns a table (using cursor)
- naive date(time) 和aware date(time)的区别 及 pymongo操作dateime的注意事项
- 利用表分区简化数据库维护
- 可变参数表 -----如何实现printf函数(1)
- 数据库镜像入门