mysql - 基于云的 LAMP 集群

标签 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。这对我来说是必要的步骤,因为我可以从网络服务器排队数百个作业,然后让实例(多达 50-100 个)通过连接到集中式 mysql 实例来找出实例需要哪些作业来挑选作业做和数据在哪里。处理数据(发生文件转换,这使得写入部分成为必要),处理数据,然后将结果加载到 mysql。我希望我能清楚地解释我的情况。这似乎是 CPU 密集型进程的一个很好的例子,可以在云中很好地扩展,我似乎无法将所有部分放在一起......欢迎任何输入!

最佳答案

这听起来很有可能;一段时间以来,我一直在 GCE 中做类似的事情。

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

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

对于集群,您可能最终会为您使用一次的头节点拥有一个镜像,然后为您为每个从属节点复制的另一个镜像。

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

希望这对您有所帮助。

关于mysql - 基于云的 LAMP 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26247548/

相关文章:

linux - 如何通过 ZIP 管道传输并在存档中使用可用的文件名

javascript - 在 Google 计算引擎 Docker 镜像上安装 Node.js 时出错

power-management - 如何休眠 Google Compute Engine 服务器?

mysql - 如何为 mysql 设置 ActiveRecord 查询超时?

php - 从数据库轮询选择中获取百分比结果

Mysql super 用户无法创建数据库,只能看到information_schema表

java - Firebase getDownloadUrl 不执行 onSuccess 或 onFailure

python - 如何从 GCS 读取 json gzip 文件并写入表?

google-cloud-platform - 重启后 Google Cloud VM 文件被删除

mysql - Foreach 字段中的数据在 MySQL 中将选定字段从一个数据库插入到另一个数据库