Articles of 集群计算

如何创build一个Linux群集在Java中运行物理模拟?

我正在开发一个用于执行物理模拟的科学应用程序。 所使用的algorithm是O(n3),所以对于大量数据来说,处理需要很长时间。 应用程序在大约17分钟的时间内运行一个模拟,我必须运行大约25,000次模拟。 这大约是一年的处理时间。 好消息是模拟是完全独立的,所以我可以很容易地改变程序在多台计算机之间分配工作。 我可以看到有多种解决scheme来实现这一点: 获取多核心计算机并将其分配到所有内核中。 对于我需要做的事还不够 编写一个连接到多个“处理”服务器的应用程序,并分配负载。 获得一个廉价的linux电脑集群,并让程序把所有东西当作一个单一的实体。 选项2相对来说比较容易实现,所以我不太关心如何实现这个build议(可以通过编写一个程序来等待参数的给定端口,处理值并返回结果作为序列化文件)。 这将是一个很好的网格计算的例子。 但是,我想知道最后一个select的可能性,一个传统的集群。 在linux网格中运行Java程序有多困难? 将所有单独的计算机都视为具有多个内核的单个计算机,这样就很容易调整程序? 有什么好的资源指针可以让我开始? 或者我使这个过于复杂,我更好select2号? 编辑:作为额外的信息,我感兴趣的是如何实现像这篇文章中描述的从有线杂志: 科学取代超级计算机与PlayStation 3的Linux群集 。 确切地说,第二个听起来像是要走的路…但是酷的因素。 编辑2:计算是非常CPU的限制。 基本上在大matrix上有很多操作,比如反和乘。 我试图寻找更好的algorithm进行这些操作,但到目前为止,我发现我需要的操作是0(n3)(在通常可用的库中)。 数据集很大(对于这样的操作),但是它是基于input参数在客户端上创build的。 我现在看到,我对Linux下的计算机群如何工作有误解。 我假定它的工作原理似乎是所有计算机上的所有处理器都可用,就好像您拥有一个具有多个内核的计算机一样,但似乎并非如此。 似乎所有这些超级计算机的工作方式都是由执行由某个中央实体分配的任务的节点,并且有几个不同的库和软件包允许轻松地执行这种分配。 所以这个问题真的变成了,因为没有第3个这样的东西,那么创build一个集群的java应用程序的最好方法是什么?

如何修复符号查找错误:集群环境中未定义的符号错误

我正在研究一些使用GDAL( http://www.gdal.org/ )和它的python绑定从ECW文件中提取一些图像数据的Python代码。 GDAL是从源头上build立起来的,有ECW的支持。 该程序运行在我使用的群集服务器上。 我通过SSHterminaltesting了程序,运行良好。 但是,现在我想使用qsub向集群提交作业,但报告了以下内容: Traceback (most recent call last): File "./gdal-test.py", line 5, in <module> from osgeo import gdal File "/home/h3/ctargett/.local/lib/python2.6/site-packages/GDAL-1.11.1-py2.6-linux-x86_64.egg/osgeo/__init__.py", line 21, in <module> _gdal = swig_import_helper() File "/home/h3/ctargett/.local/lib/python2.6/site-packages/GDAL-1.11.1-py2.6-linux-x86_64.egg/osgeo/__init__.py", line 17, in swig_import_helper _mod = imp.load_module('_gdal', fp, pathname, description) ImportError: /mnt/aeropix/prgs/.local/lib/libgdal.so.1: undefined symbol: H5Eset_auto2 我做了更多的挖掘,并尝试使用LD_DEBUG=symbols来试图找出差异在哪里,但是就我所了解的知识而言, 作为参考,下面是LD_DEBUG=symbols和在sshterminal中运行代码(通过grep H5Eset_auto2pipe道来减less一些输出): 在sshterminal中运行代码的符号debugging输出: 11359: symbol=H5Eset_auto2; lookup […]

Windows上的Hadoop + HBase集群:未findwinutils

我试图在Windows上设置Hadoop 2.20和HBase 0.98的完全分布式4节点开发集群。 我已经成功地在Windows上构build了Hadoop,最近也在Windows上构build了HBase。 我们已经成功运行了Hadoop安装指南中的wordcount示例以及自定义的WebHDFS作业。 由于完全分布在Windows上的HBase目前还不支持,我在cygwin下运行HBase。 当试图从我的主(./bin/start-hbase.sh)启动hbase时,出现以下错误: 2014-04-17 16:22:08,599 ERROR [main] util.Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:278) at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300) at org.apache.hadoop.util.Shell.<clinit>(Shell.java:293) at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76) at org.apache.hadoop.conf.Configuration.getStrings(Configuration.java:1514) at org.apache.hadoop.hbase.zookeeper.ZKConfig.makeZKProps(ZKConfig.java:113) at org.apache.hadoop.hbase.zookeeper.ZKServerTool.main(ZKServerTool.java:46) 看一下Shell.java源代码,这里设置为null,看起来是HADOOP_HOME环境variables。 在C:/ cygwin / root / usr / […]

Hadoop集群与Ubuntu和Windows

我有三个笔记本电脑(与Ubuntu的),我networking作为一个群集的hadoop。 我也有一个唯一的Windows机器,是否有可能将其添加到群集并使其充当节点? 这可行吗? 有没有人遇到过这样的问题?

Windows服务器上的Hadoop

我正在考虑使用hadoop处理现有的Windows 2003服务器上的大型文本文件(大约10个四核心16GB的RAM) 问题是: 有没有什么好的教程如何在Windows上configurationhadoop集群? 有什么要求? java + cygwin + sshd? 还要别的吗? HDFS,它在Windows上播放不错吗? 我想在stream模式下使用hadoop。 任何build议,工具或技巧来开发我自己的映射器/减速器在C#? 你用什么来提交和监督工作? 谢谢

在Windowsnetworking中启动远程进程

我有几台从机和一台主机一起运行分布式应用程序。 每台从机上的进程必须具有GUI和networking访问(我认为这将被称为交互式进程)。 为了便于使用,如果主机可以启动/停止这些从机上的进程,那就好了。 我的第一个想法是使用WMI和Win32_Process类来启动一个远程进程,但经过进一步的调查后发现,以这种方式启动的进程是非交互式和孤立的,因此不能有任何GUI。 有人指出,可以使用Win32_ScheduledJob.Create创build一个远程交互式进程,但是它运行在我想避免的LocalSystem帐户下(我甚至无法让它正常运行)。 什么是解决这个问题的好方法? 也许有可能启动一个帮助应用程序,然后开始一个适当的过程,但似乎很脏。 编辑:PsExec是真的笨重,当我试了一下,慢(如不知道为什么)。 进一步看看PsExec,似乎它会在远程机器上安装一个临时服务来启动应用程序。 这是唯一的方法来产生一个正确的身份互动过程? 我应该在节点的设置中包含帮助器服务吗? 但即使如此,我又如何与之沟通呢?

在Windows服务器上设置RabbitMQ集群

我试图在Windows服务器上设置一个RabbitMQ集群,这需要使用共享的Erlang cookie文件。 根据文档,我所要做的就是确保不同机器上的根目录包含相同的.erlang.cookie文件。 所以我所做的是在两台机器上find这些文件,并用相同的共享版本覆盖它们。 之后,所有rabbitmqctl命令在新文件版本的机器上失败,并显示“无法连接到节点…”错误消息。 我试图重新启动RabbitMQ Windows服务,但仍rabbitmqctl抱怨。 我甚至在那台机器上重新安装了RabbitMQ,但是.erlang.cookie被重新设置为旧版本。 每当我尝试使用新版本的cookie文件,rabbitmqctl失败。 当我恢复旧版本时,它工作正常。 基本上我卡住了,无法继续进行群集设置,直到我解决了这个问题。 任何帮助表示赞赏。 更新:从RabbitMQ接收到一个答案:“rabbitmqctl将从用户主目录中获取cookie,而服务将从C:\ windows中获取,因此您需要将这些文件与其他文件同步机。” 这基本上意味着cookie文件需要在两个地方重新修复:C:\ Windows和current_user。