虚拟机搭建beowulf集群

虚拟环境vmware10

操作系统ubuntu12.10服务器版

创建3个虚拟机,一个作为主节点master(同时作为文件服务器),三个计算节点slave1,slave2,slave3.

beowulf集群架构:



1.编辑每个节点的hosts文件,使用主机名互访。

sudo vim /etc/hosts

如下格式添加节点名称和对应IP

127.0.0.1	localhost
192.168.1.6	master
192.168.1.7	slave1
192.168.1.8	slave2
192.168.1.9     slave3

保存退出,确定能使用节点名称互连。

$ ping -c 3 master
PING master (192.168.1.6) 56(84) bytes of data.
64 bytes from master (192.168.1.6): icmp_req=1 ttl=64 time=0.606 ms
64 bytes from master (192.168.1.6): icmp_req=2 ttl=64 time=0.552 ms
64 bytes from master (192.168.1.6): icmp_req=3 ttl=64 time=0.549 ms

--- master ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.549/0.569/0.606/0.026 ms

2.添加运行mpi程序的用户,每个节点都要添加,用户名密码相同。

$ sudo adduser mpiuser --uid 999
3.安装nfs

master节点:

master:~$ sudo apt-get install nfs-kernel-server

slave节点:

$ sudo apt-get install nfs-common
使用nfs共享master的/home/mpiuser,编辑master的/etc/exports文件,添加如下代码:

/home/mpiuser *(rw,sync,no_subtree_check)
重启nfs守护进程:

master:~$ sudo service nfs-kernel-server restart
此时master的/home/mpiuser/已经通过nfs共享,可以在slave节点输入如下命令测试:

$ showmount -e master
会输出路径:/home/mpiuser.

关闭防火墙。

4.在slave节点上挂载master:/home/mpiuser

slave1:~$ sudo mount master:/home/mpiuser /home/mpiuser
slave2:~$ sudo mount master:/home/mpiuser /home/mpiuser

测试挂载是否成功:

在master上/home/mpiuser创建文件,查看是否出现在slave上的/home/mpiuser中。

如果挂载成功,需要设置每次重启时自动挂载,编辑所有slave节点的/etc/fstab文件,添加以下命令:

master:/home/mpiuser /home/mpiuser nfs
5.安装配置节点之间无密码ssh访问

在所有节点上安装ssh:

$ sudo apt-get install ssh
需要在所有节点上产生一个ssh秘钥,默认生成在/home目录中。因为所有节点mpi用户共享master:/home/mpiuser,所以只需要在master:/home/mpiuser中生成一个ssh秘钥即可。在master上执行以下命令:

$ su mpiuser
$ ssh-keygen
要求输入密码等一路回车即可。

拷贝master公钥到 /home/mpiuser/.ssh

mpiuser@master:~$ ssh-copy-id localhost
测试能否无密码访问:

mpiuser@master:~$ ssh slave1
mpiuser@slave1:~$ echo $HOSTNAME
slave1
6.安装设置进程管理器

所有节点都要安装mpich,配置进程管理器。因为进程管理器包括在mpich包中,所以先安装mpich:

$ sudo apt-get install mpich2
配置进程管理器hydra,在master节点上创建一个hosts,包含所有计算节点。

mpiuser@master:~$ cd ~
mpiuser@master:~$ touch hosts

内容如下:

master
slave1
salve2
7.在集群中运行mpich2例子(也可以不下载安装mpich源码包,自己编写程序编译运行)

下载mpich源码包,编译运行。

$ sudo apt-get build-dep mpich2
$ wget http://www.mpich.org/static/downloads/1.4.1/mpich2-1.4.1.tar.gz
$ tar -xvzf mpich2-1.4.1.tar.gz
$ cd mpich2-1.4.1/
$ ./configure
$ make
$ cd examples/
cpi是默认编译好的例子,可直接使用:

$ su mpiuser
mpiuser@master:~$ mpiexec -f hosts -n 3 /home/mpiuser/bin/cpi



原文地址:http://byobu.info/article/Building_a_simple_Beowulf_cluster_with_Ubuntu/


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值