基于云的LAMP集群

时间:2014-10-08 00:48:20

标签: mysql google-cloud-storage google-compute-engine google-cloud-sql

我运行一个非常自定义的集群,用于处理基于LAMP基本设计的大量科学数据。一般来说,我运行一个单独的MySQL服务器,大约128GB的内存和大约1TB的存储空间。另外,我运行一个头节点,作为我的进程数据输入的nfs挂载点,以及一个显示结果的网络服务器。最后,我试用一些计算节点从mysql表中获取作业,从NFS获取数据,做一些繁重的工作,然后将结果放入mysql。

我遇到了一个我想要处理的数据集,这个数据集非常大(1TB的输入数据),而且我真的没有硬件可以处理它。结果,我开始研究谷歌计算引擎等,以及扩展实例的前景,以便快速处理这些数据,并将结果存储在mysql实例中。完成后,可以从云中转储mysql表并在本地进行分析。我可以毫无问题地部署MySQL服务器,以及其他LAMP部分和计算节点,但我无法弄清楚如何在云中实现这一点。

一个主要的问题似乎是缺少读/写NFS,这使我能够将数据存储到多个实例中,将其压缩,然后将结果推送到MySQL。这对我来说是必要的一步,因为我可以从Web服务器排队数百个作业,然后让实例(多达50-100个)通过连接到集中式mysql实例来查找实例需要的作业。做什么和数据在哪里。处理数据(发生了一个文件转换,使得写入部分成为必要),处理数据,然后将结果加载到mysql。我希望我能清楚地解释我的情况。这似乎是CPU密集型流程的一个很好的例子,可以在云中很好地扩展,我似乎无法将所有部分放在一起......任何输入都值得赞赏!

1 个答案:

答案 0 :(得分:0)

听起来很可能;我一直在GCE做类似的事情。

NFS挂载 - 您只需要像平常一样配置它。在头节点上设置NFS服务器,然后配置从属节点上的客户端以安装它。 Herehere是我用来启动和运行NFS的Centos 6的一些基本配置说明。

设置LAMP堆栈非常简单。这些机器运行的是非常普通的Linux发行版,所以你可以使用yum或apt-get来安装组件。

对于群集,您可能最终会为您使用一次的头节点创建一个图像,然后为您为每个节点复制的从节点生成另一个图像。

对于调度程序,我已经成功使用了Condor和Sge,但我确信其他的也能正常工作。

希望这有帮助。