标签: cluster-computing

具有ActiveMQ群集的Apache Camel

我正在尝试确定用于集群化ServiceMix 3.3.1/Camel 2.1/AMQ 5.3应用程序的选项.我正在执行高容量消息处理,我需要集群以实现高可用性和水平可伸缩性.

这基本上就是我的应用程序所做的... HTTP-> QUEUE-> PROCESS-> DATABASE-> TOPIC

从( "码头:http://0.0.0.0/inbound ").要(" ActiveMQ的:inboundQueue");

from("activemq:inboundQueue?maxConcurrentConsumers = 50").process(decode()).process(transform()).process(validate()).process(saveToDatabase()).to("activemq:topic:ouboundTopic" );

所以,我已经阅读了所有ServiceMix和AcitveMQ集群页面,但我仍然不确定要走哪条路.

我知道我可以使用HA的主/从设置,但这对可伸缩性没有帮助.

我读过有关经纪人的网络,但我不确定这是如何适用的.例如,如果我在群集中的多个节点上部署相同的Camel路由,它们将如何"完全"交互?如果我将HTTP生成器指向一个节点(NodeA),哪些消息将被发送到NodeB?是否在节点A/B之间共享队列/主题...如果是,如何分割或复制消息?另外,外部客户端如何准确地订阅我的"outboundTopic"(并获取所有消息等)?

或者,我一直在想我应该在多个ServiceMix实例之间共享代理.那将是更清洁的,因为只需要管理一组队列/主题,我可以通过添加更多实例来扩展.但是,现在我受限于单个经纪人的可扩展性,我又回到了单点故障......

如果有人能为我澄清权衡......我会很感激.

activemq-classic cluster-computing apache-camel

11
推荐指数
1
解决办法
7043
查看次数

如何告诉Condor只将作业分派给集群上安装了"numpy"的机器?

我刚刚想出了如何使用Condor在集群上的机器上发送要处理的作业.既然我们有很多机器,而不是每台机器都配置相同,我想知道:

是否有可能告诉condor只将我的作业(python脚本)发送到机器上,因为我的脚本依赖于这个包,所以机器上安装了numpy?

python cluster-computing job-scheduling condor

11
推荐指数
2
解决办法
1329
查看次数

使用qsub运行shellscript时出现"意外的文件结束"和"错误导入函数定义"错误

我有以下shellcript:

#!/bin/sh
cd /sw/local/bin/
export LD_LIBRARY_PATH=/sw/local/lib:/usr/local/Trolltech/Qt-4.7.2/lib:$LD_LIBRARY_PATH
./FeatureFinderRaw -in /homes/JG-C1-18.mzML -out /homes/test_remove_after_use.featureXML -threads 20
Run Code Online (Sandbox Code Playgroud)

当我从我自己的命令行运行它时它工作正常,但是当我尝试这样做时:

qsub -q ningal.q -cwd -V -o /homes/queue.out -e /queue.err featureFind_C1-18_20t.sh 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

/bin/sh: module: line 1: syntax error: unexpected end of file
/bin/sh: error importing function definition for `module'
./FeatureFinderRaw: error while loading shared libraries: libOpenMS.so: cannot open shared object file: No such file or directory
/bin/sh: module: line 1: syntax error: unexpected end of file
/bin/sh: error importing function definition for `module'
./FeatureFinderRaw: error while loading …
Run Code Online (Sandbox Code Playgroud)

linux shell cluster-computing qsub

11
推荐指数
2
解决办法
2万
查看次数

可以使Apache Solr索引在事务上与被索引的DB一致吗?

我是Solr的新手.我正在尝试创建一个将结构化数据存储在数据库中的服务器,并且可以使用Solr/Lucene进行搜索.服务器可以集群到任意数量的相同节点中以实现高可用性.

似乎标准配置Solr将索引存储在文件系统上的文件中.这似乎引入了一致性和聚类的一些问题.

如何使索引在事务上与DB保持一致?有没有办法做到这一点?(例如,通过提交Solr索引协调提交到DB的某种方式?)

有没有办法将索引存储在(关系)数据库中?这将解决一致性问题和集群问题,但我没有找到很多关于如何做到这一点的文献.

配置为群集时,每个群集节点是否需要维护自己的索引副本.目前尚不清楚Solr的多个实例是否可以更新单个索引.

或者 - 我们是否放弃接受索引不保证一致,每天重建它?人们通常对此做些什么?

lucene solr transactions consistency cluster-computing

11
推荐指数
1
解决办法
3516
查看次数

Spark集群在更大的输入上失败,适用于小型

我正在玩Spark.它是来自网站的默认预构建分发版(0.7.0),具有默认配置,群集模式,一个工作者(我的本地主机).我阅读了有关安装的文档,一切似乎都很好.

我有一个CSV文件(各种大小,1000到100万行).如果我使用小输入文件(例如1000行)运行我的应用程序,一切都很好,程序在几秒钟内完成并产生预期的输出.但是当我提供更大的文件(100.000行,或100万行)时,执行失败.我试图挖掘日志,但没有多大帮助(它重复整个过程大约9-10次,然后在失败后退出.此外,还有一些与从某些空源获取失败相关的错误).

第一个JavaRDD返回的结果Iterable对我来说是可疑的.如果我返回一个硬编码的单例列表(如res.add("something");返回res;),一切都很好,即使有一百万行.但是,如果我添加我想要的所有键(28个字符串,长度为6-20个字符),则该过程在输入较大时才会失败.问题是,我需要所有这些密钥,这是实际的业务逻辑.

我正在使用Linux amd64,四核,8GB内存.最新的Oracle Java7 JDK.Spark配置:

SPARK_WORKER_MEMORY=4g
SPARK_MEM=3g
SPARK_CLASSPATH=$SPARK_CLASSPATH:/my/super/application.jar
Run Code Online (Sandbox Code Playgroud)

我必须提一下,当我启动该程序时,它说:

13/05/30 11:41:52 WARN spark.Utils: Your hostname, *** resolves to a loopback address: 127.0.1.1; using 192.168.1.157 instead (on interface eth1)
13/05/30 11:41:52 WARN spark.Utils: Set SPARK_LOCAL_IP if you need to bind to another address
Run Code Online (Sandbox Code Playgroud)

这是我的计划.它基于JavaWordCount示例,最低限度地修改.

public final class JavaWordCount
{
    public static void main(final String[] args) throws Exception
    {
        final JavaSparkContext ctx = new JavaSparkContext(args[0], "JavaWordCount",
            System.getenv("SPARK_HOME"), new String[] {"....jar" });

        final JavaRDD<String> words = ctx.textFile(args[1], …
Run Code Online (Sandbox Code Playgroud)

java cluster-computing real-time-data apache-spark

11
推荐指数
1
解决办法
7158
查看次数

用于假人的Mysql集群

那么群集背后的想法是什么?

  1. 您有多台机器与您传播读/写的DB的相同副本?它是否正确?

  2. 这个想法是如何运作的?当我进行选择查询时,群集会分析哪个服务器具有较少的读/写并将我的查询指向该服务器?

  3. 当你应该开始使用集群时,我知道这是一个棘手的问题,但是有人可以给我一个例子,例如100万次访问和1亿行DB.

mysql scalability cluster-computing

11
推荐指数
1
解决办法
1880
查看次数

R SNOW包的"SOCK","PVM","MPI"和"NWS"之间的差异

makeClusterSNOW包的功能具有不同的簇类型" SOCK"," PVM"," MPI"和" NWS",但我不太清楚它们之间的差异,更具体地说,哪个最适合我的程序.

目前我有一个不同长度的任务队列进入负载平衡群集,clusterApplyLB并使用64位32核Windows机器.

我正在寻找四种群集类型之间差异的简要描述,这对我的使用和原因最有用.

multicore load-balancing r cluster-computing snow

11
推荐指数
1
解决办法
2764
查看次数

Hadoop:将多个IP地址绑定到群集NameNode

我在Softlayer上有一个四节点Hadoop集群.主(NameNode)具有用于外部访问的公共IP地址和用于群集访问的专用IP地址.从节点(datanode)具有私有IP地址,我正在尝试连接到主节点,而无需为每个从节点分配公共IP地址.

我已经意识到设置fs.defaultFS为NameNode的公共地址允许外部访问,除了NameNode只侦听传入连接的地址,而不是私有地址.所以我在datanode日志中得到ConnectionRefused异常,因为他们试图连接NameNode的私有IP地址.

我认为解决方案可能是将公共和私有IP地址都设置为NameNode,以便保留外部访问并允许我的从属节点也连接.

那么有一种方法可以将这两个地址绑定到NameNode,以便它可以同时监听吗?

编辑:Hadoop版本2.4.1.

java hadoop network-programming distributed-computing cluster-computing

11
推荐指数
1
解决办法
4919
查看次数

Node.js集群不会显着提高性能

如果有人想尝试:https: //github.com/codependent/cluster-performance

我正在使用一个简单的应用程序测试Node.js(v0.11.13 - Windows 7)每秒限制请求.我已经使用Express 4实现了一个服务,该服务模拟I/O操作,例如带有setTimeout回调的数据库查询.

首先,我只用一个节点进程测试它.对于第二次测试,我启动的工作人员数量与机器的CPU数量相同.

我使用loadtest来测试服务,使用以下参数:

loadtest -n 50000 -c 220 -k http://localhost:5000/operations/timeout/20
Run Code Online (Sandbox Code Playgroud)

也就是说,总共50万个请求,220个并发客户端.

我的服务根据最后的url参数(20 mseg)设置超时(处理时间的持续时间):

router.route('/timeout/:time')
.get(function(req, res) {
    setTimeout(function(){
        appLog.debug("Timeout completed %d", process.pid);
        res.json(200,{result:process.pid});
    },req.param('time'));
});    
Run Code Online (Sandbox Code Playgroud)
  1. 只有一个节点进程

这些是结果:

INFO Max requests:        50000
INFO Concurrency level:   200
INFO Agent:               keepalive
INFO
INFO Completed requests:  50000
INFO Total errors:        0
INFO Total time:          19.326443741 s
INFO Requests per second: 2587
INFO Total time:          19.326443741 s
INFO
INFO Percentage of the requests served …
Run Code Online (Sandbox Code Playgroud)

javascript cluster-computing node.js

11
推荐指数
1
解决办法
4412
查看次数

如何在Wildfly 8.2.0.Final中查找模糊的HA群集错误

设置

我有一个Wildfly 8.2.0.Final应用服务器使用full-ha配置文件在域模式下运行集群.该集群由两个wildfly,master和slave实例组成,每个实例都在自己的虚拟机上运行.

应用程序

我的项目在应用程序服务器上部署为war-file.出于测试目的,我的负载均衡器使用循环法分配请求.

匿名用户可以使用按钮来使用此项目提供的服务,该按钮将首先调用两个步骤然后登录.登录将使用在注册阶段创建的会话,提供在注册调用期间创建的凭据.

实施

登录端点是请求范围的CDI bean,其中包含保存用户信息的成员.用户信息是SessionScopped EJB Bean,它在会话实例化期间创建,并注入到登录端点CDI bean中.用户信息应该在集群成员之间分配.

观察到的行为

现在有趣的部分:

  • 使用Firefox:
    1. / rest/register - > 200 OK
    2. / rest/login - > 200 OK
  • 在私人模式下使用Firefox:
    1. / rest/register - > 200 OK
    2. / rest/login - > 200 OK
  • 使用Chrome:
    1. / rest/register - > 200 OK
    2. / rest/login - > 200 OK
  • 在私人模式下使用Chrome:
    1. / rest/register - > 200 OK
    2. / rest/login - > 200 OK
  • 使用Internet Explorer 11:
    1. / rest/register - > 200 OK
    2. / rest/login - > 200 …

rest session cluster-computing weld wildfly

11
推荐指数
1
解决办法
722
查看次数