文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>创建一个简单的 Linux 集群(zz)

创建一个简单的 Linux 集群(zz)

时间:2007-01-11  来源:northtree

有关集群最有趣的事情之一是,如果我们有基本的 Linux 安装,并且具备一定的故障排除的技能,只需要很少的努力就可以构建基于 Linux 的集群。让我们来看一下这是如何实现的。

对于我们的集群,要使用 MPICH 和一组普通的 Linux 工作站。为了简单起见,并且重点突出其中的基本原理,我们将构建最小的裸系统,在集群环境中可以使用它来运行并行程序。

本节中给出的 7 个步骤将显示如何构建裸系统。构建健壮的集群以及集群的管理涉及很多工作,我们在本文后面进行介绍。

步骤 1

如果想获得一个真正的集群,至少需要两台 Linux 机器。两个 VMware 映像也可以很好地实现这种功能。(使用 VMware,显然我们并不会期望能获得什么性能优势。实际上,其性能显然会有所下降,因为 CPU 需要进行共享。)请确保这些机器彼此之间可以使用机器名相互 ping 通。否则,就需要在 /etc/hosts 中添加适当的项。

步骤 2

安装 GNU C 编译器和 GNU FORTRAN 编译器。

步骤 3a

为所有节点配置 SSH,允许不询问密码就可以执行命令。这样做的目的是能够不需询问密码就可以执行 ssh -n host whoami 这样的命令。SSH 用作不同机器之间的通信方法。(也可以使用 rsh 来实现这种功能。)

步骤 3b

ssh-keygen -f /tmp/key -t dsa 可以在文件 key 中生成一个私钥,在文件 key.pub 中生成一个公钥。

步骤 3c

如果正在以 root 用户的身份构建集群,并且以 root 用户的身份来运行程序(显然只有在进行实验时才会这样),那么就可以将私钥拷贝到文件 /root/.ssh/identity 中,并将公钥拷贝到集群中所有节点上的 /root/.ssh/authorized_keys 文件中。

为了确保所有的配置都能正常工作,请执行下面的命令:ssh -n hostname 'date',并查看这个命令能否成功执行,而不会出现任何错误。应该对所有节点都执行这种测试,这样就可以确保所有节点上的设置都没有问题。

注意:可能还需要修改防火墙的配置,使其允许节点彼此之间相互进行通信。

步骤 4a

接下来,我们将安装 MPICH。从 anl.gov 的 Web 站点(请参阅 参考资料 中的链接)上下载 UNIX 版本的 MPICH。下面是一个简要介绍。

步骤 4b

假设您已经将所下载的 mpich.tar.gz 放到了 /tmp 中:

cd /tmp
tar -xvf mpich.tar.gz (假设执行这个命令之后会得到一个 /tmp/mpich-1.2.6 目录)
cd /tmp/mpich-1.2.6

步骤 4c

./configure -rsh=ssh —— 这告诉 MPICH 使用 ssh 作为通信机制。

步骤 4d

make —— 执行完这个步骤之后,就已经安装好 MPICH 了。

步骤 5

要让 MPICH 知道所有的节点,请编辑文件 /tmp/mpich-1.2.6/util/machines/machines.LINUX,并将所有节点的主机名添加到这个文件中,这样安装的 MPICH 就可以知道所有的节点了。如果以后再添加新的节点,也请修改这个文件。

步骤 6

将目录 /tmp/mpich-1.2.6 拷贝到集群中的所有节点上。

步骤 7

在 examples 中运行几个测试程序:

  • cd /tmp/mpich-1.2.6/utils/examples
  • make cpi
  • /tmp/mpich-1.2.6/bin/mpirun -np 4 cpi —— 告诉 MPICH 在 4 个处理器上运行程序;如果配置中没有 4 个处理器,也不用担心;MPICH 会创建一些进程来补偿物理硬件的缺失。

现在集群已经准备好了!正如我们可以看到的一样,所有的重头戏都可以留给 MPI 实现来完成。正如前面介绍的一样,这是一个裸集群,所需的大部分手工工作只是确保机器之间可以彼此进行通信(我们配置了 ssh,MPICH 是手工拷贝的,等等)。

相关阅读 更多 +
排行榜 更多 +
挖掘机卡车

挖掘机卡车

模拟经营 下载
我的汤姆猫小米版

我的汤姆猫小米版

模拟经营 下载
我的小小邮轮

我的小小邮轮

模拟经营 下载