我正在试图找到一个管理一组Linux机器的解决方案(操作系统:Ubuntu,~40个节点。相同的硬件)。这些机器应该是彼此的映像,安装在其中的软件需要安装在其他机器中。我的软件要求是hadoop,R和servicemix。所有机器上的R软件包也需要同步(安装在一个机器上的软件包需要在所有其他机器上都可用)
我现在使用的一个解决方案是使用NFS和pssh。我希望有一个更好/更容易的解决方案,这将使我的生活更轻松。任何建议都表示赞赏。
答案 0 :(得分:5)
两个流行的选择是来自Puppet Labs的Puppet和来自OpsCode的Chef。
另一种可能的机制是创建一个新的元数据包,Requires:
要在所有机器上安装的软件包。修改元数据包时,apt-get update && apt-get -u dist-upgrade
会同时在所有系统上安装新软件包。
元数据包方法最初的配置和使用可能较少,但从长远来看,Puppet或Chef可能会提供更好的投资回报,因为它们可以管理的不仅仅是软件包安装。
答案 1 :(得分:3)
我过去使用过低技术的apporach,只需共享/usr/local/
(至少部分)/usr/local/lib/R/site-library/
中的公共R库。我想这也适用于你的Hadoop安装。
我试图将其余部分保留在Debian / Ubuntu软件包中并保持所有节点都是最新的。本地R和Ubuntu软件包存储库(对于本地创建的软件包)也可以提供帮助,但需要更多工作。