标签: cluster-computing

Tomcat会话集群:它是生产级别吗?它是否规模?

我想知道Tomcat Session Cluster解决方案的任何经验.是生产水平吗?它是否规模?我可以在服务器场中使用它吗?您是否为会话群集推荐任何其他解决方案?(例如:数据库,terracota,jgroups等)

session tomcat cluster-computing

9
推荐指数
2
解决办法
3548
查看次数

JBoss 4.2.2节点开始集群然后互相怀疑

我在现有的Red Hat服务器上运行了一个运行JBoss 4.2.2的网站.我正在设置第二台服务器,以便拥有一个群集对(然后将进行负载平衡).但是,我无法让它们成功集群.

现有服务器启动JBoss:

run.sh -c default -b 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

(我知道'默认'配置不支持开箱即用的集群 - 我正在使用它的修改版本,其中包括集群支持.)当我用相同的命令启动第二个JBoss实例时,它形成了自己的集群没有注意到第一个.两者都使用相同的分区名称和多播地址和端口.

我尝试了McastReceiverTest和McastSenderTest程序来检查机器是否可以通过多播进行通信; 他们可以.

然后我注意到http://docs.jboss.org/jbossas/docs/Clustering_Guide/beta422/html/ch07s07s07.html上的信息,说JGroups不能绑定到所有接口,而是绑定到默认接口; 所以大概是它绑定到127.0.0.1,从而没有得到消息.所以我设置实例来告诉JGroups使用内部IP:

run.sh -c default -b 0.0.0.0 -Djgroups.bind_addr=10.51.1.131
run.sh -c default -b 0.0.0.0 -Djgroups.bind_addr=10.51.1.141
Run Code Online (Sandbox Code Playgroud)

(.131是现有服务器,.141是新服务器).

节点现在互相注意并形成一个集群 - 首先.但是,在尝试部署.ear时,服务器日志会说:

2010-08-07 22:26:39,321 DEBUG [org.jgroups.protocols.FD] sending are-you-alive msg to 10.51.1.131:46294 (own address=10.51.1.141:47629)
2010-08-07 22:26:45,412 WARN  [org.jgroups.protocols.FD] I was suspected by 10.51.1.131:48733; ignoring the SUSPECT message and sending back a HEARTBEAT_ACK
2010-08-07 22:26:49,324 DEBUG [org.jgroups.protocols.FD] sending are-you-alive msg to 10.51.1.131:46294 (own address=10.51.1.141:47629)
2010-08-07 22:26:49,324 DEBUG [org.jgroups.protocols.FD] …
Run Code Online (Sandbox Code Playgroud)

jboss jgroups cluster-computing

9
推荐指数
1
解决办法
7770
查看次数

池和集群之间的区别

从最纯粹的角度来看,他们感觉就像是相同的概念.它们都管理一组reosurces /节点,并控制它们对外部组件的访问.

使用池,您可以在池中借用和返回这些资源/节点.

对于群集,您有一个位于资源/节点前面的负载均衡器,您可以通过请求命中负载均衡器.

在这两种情况下,您都无法控制请求/借用映射到哪个资源/节点.

所以我提出了一个问题:"池"模式和负载均衡集群之间的根本区别是什么?

design-patterns load-balancing pool cluster-computing

9
推荐指数
1
解决办法
4797
查看次数

运行具有多个节点的slurm脚本,使用1个任务启动作业步骤

我正在尝试使用批处理脚本启动大量作业步骤.不同的步骤可以是完全不同的程序,并且每个步骤只需要一个CPU.首先,我尝试使用--multi-prog参数来执行此操作srun.不幸的是,当以这种方式使用分配给我的作业的所有CPU时,性能会大幅降低.运行时间几乎增加到序列化值.通过订阅我可以改善这一点.我在网上找不到关于这个问题的任何内容,所以我认为它是我正在使用的集群的配置问题.

所以我试着走另一条路.我实现了以下脚本(通过启动sbatch my_script.slurm):

#!/bin/bash
#SBATCH -o $HOME/slurm/slurm_out/%j.%N.out
#SBATCH --error=$HOME/slurm/slurm_out/%j.%N.err_out
#SBATCH --get-user-env
#SBATCH -J test
#SBATCH -D $HOME/slurm
#SBATCH --export=NONE
#SBATCH --ntasks=48

NR_PROCS=$(($SLURM_NTASKS))
for PROC in $(seq 0 $(($NR_PROCS-1)));
do
    #My call looks like this:
    #srun --exclusive -n1 bash $PROJECT/call_shells/call_"$PROC".sh &
    srun --exclusive -n1 hostname &
    pids[${PROC}]=$!    #Save PID of this background process
done
for pid in ${pids[*]};
do
    wait ${pid} #Wait on all PIDs, this returns 0 if ANY process fails
done
Run Code Online (Sandbox Code Playgroud)

我知道,--exclusive …

cluster-computing slurm

9
推荐指数
1
解决办法
4994
查看次数

如何获得Kubernetes的服务IP?

我根据其官方文档在这里运行了一个本地集群.我按照步骤操作,它正常工作,直到我设置副本并试图暴露它.我的意思是:

./kubectl expose rc nginx --port=80
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

NAME      LABELS      SELECTOR    IP(S)     PORT(S)
nginx     run=nginx   run=nginx             80/TCP
Run Code Online (Sandbox Code Playgroud)

当我再次尝试时,它说同一个服务正在运行.我该如何找出IP?

ubuntu cluster-computing docker kubernetes

9
推荐指数
2
解决办法
5046
查看次数

从R中启动多个h2o集群

我的目的是从同一台计算机/服务器上的R内启动两个或多个h2o集群/实例(不是两个或更多节点!),以使多个用户能够同时与h2o连接.此外,我希望能够单独关闭和重新启动集群,也可以从R内部.

我已经知道我无法简单地从R中控制多个h2o集群,因此我尝试从Windows 10中的命令行启动两个集群:

java -Xmx1g -jar h2o.jar -name testCluster1 -nthreads 1  -port 54321
java -Xmx1g -jar h2o.jar -name testCluster2 -nthreads 1  -port 54323
Run Code Online (Sandbox Code Playgroud)

这对我来说很好:

library(h2o)

h2o.init(startH2O = FALSE, ip = "localhost", port = 54321) 
Connection successful!

R is connected to the H2O cluster: 
H2O cluster uptime:         4 minutes 8 seconds 
H2O cluster version:        3.8.3.2 
H2O cluster name:           testCluster 
H2O cluster total nodes:    1 
H2O cluster total memory:   0.87 GB 
H2O cluster total cores:    4 
H2O cluster allowed cores: …
Run Code Online (Sandbox Code Playgroud)

windows cmd r cluster-computing h2o

9
推荐指数
1
解决办法
1769
查看次数

Kubernetes-错误上传小插曲:等待条件超时

我正在尝试为具有1个主节点和2个工作节点的Kubernetes集群创建模板。我已经安装了所有必备软件,并在主节点上运行了kubeadmn init。但是当我尝试运行作为初始化命令输出的kubeadmn连接时,出现了错误。

[发现]尝试连接到API服务器“ 10.31.2.33:6443” [发现]创建集群信息发现客户端,从“ https://10.31.2.33:6443 ”请求信息[发现]从“ https:/ /10.31.2.33:6443再次针对固定的公钥[发现]验证TLS群集信息签名和内容有效,并且针对固定根的TLS证书进行验证,将使用API​​服务器“ 10.31.2.33:6443” [发现]与API服务器“ 10.31成功建立连接.2.33:6443“ [kubelet]从kube-system命名空间中的” kubelet-config-1.12“ ConfigMap下载kubelet的配置[kubelet]将kubelet配置写入文件” /var/lib/kubelet/config.yaml“ [ kubelet]将带有标志的kubelet环境文件写入文件“ /var/lib/kubelet/kubeadm-flags.env” [预检]激活kubelet服务[tlsbootstrap]等待kubelet执行TLS Bootstrap ... [patchnode]上传“ CRI套接字信息” / var / run / dockershim。sock”到节点API对象“”,作为注释错误上传crisocket:等待条件超时

我在workdernode2上运行此命令之前已经完成了swapoff -a

我能够运行一次连接,但是在脚本的一部分之后,我先运行了kubeadmn重置,然后执行了init并加入了几次,直到它开始出现。

无法弄清楚我在做什么或在哪里做错了。

我的主要目的是将所有命令以shell脚本的形式(在masternode上)放置,以便可以在群集上运行以创建网络。

cluster-computing docker kubernetes

9
推荐指数
2
解决办法
4583
查看次数

MongoDB仲裁服务器是否应包含在客户端连接配置中?

如果在Mongo中仅使用两个节点设置副本集,则需要添加仲裁器以确保对新主节点的投票总是占多数.仲裁者本身永远不会成为主人,只是在其他方面进行选举时提供投票.

将客户端(在我的Java中)连接到MongoDB集群时,我们应该在连接配置中指定集群的所有节点:

List addrs = new ArrayList();
addrs.add( new ServerAddress( "localhost" , 27017 ) );
addrs.add( new ServerAddress( "localhost" , 27018 ) );

Mongo mongo = new Mongo(addrs);
Run Code Online (Sandbox Code Playgroud)

仲裁器是否应包含在连接配置中?我猜不会像他们一样:

没有数据的副本,永远不会成为主要节点(甚至是可读的次要节点)

(摘自这里)

...但我只想仔细检查!

cluster-computing mongodb

8
推荐指数
1
解决办法
2474
查看次数

Node.js将具有函数定义的对象发送到工作线程

所以我正在开发Node.js中的一个项目,我想打开一些额外的线程来更有效地处理处理负载.但是我正在使用带有函数定义的类,当我尝试将这些对象发送到工作线程时,对象中定义的函数会消失,而我只剩下对象中的其他字段.有没有办法向worker发送一个对象并保留这些函数,以便可以在worker中调用它们?

var cluster = require('cluster');

if(cluster.isMaster){
    Monster = function(species){
        this.attack = function(){
            console.log('CHOMP');
        };
        this.name = species;
    };
    var vamp = new Monster('vampire'),
    worker   = cluster.fork();
    worker.send({'monster' : vamp});
    }
else{
    process.on('message', function(msg) {
        console.log(msg.monster); //this logs "{ name: 'vampire' }"  
        msg.monster.attack(); //TypeError: Object #<Object> has no method 'attack'
    });
}
Run Code Online (Sandbox Code Playgroud)

multithreading function cluster-computing worker node.js

8
推荐指数
1
解决办法
3404
查看次数

io.adapter如何在引擎盖下工作?

我正在研究由node.js + express + socket.io提供支持的1-1聊天室应用程序.我正在关注文章:Socket.IO - 房间和命名空间

在文章中,他们演示了如何启动io.adapter使用模块socket.io-redis:

var io = require('socket.io')(3000);
var redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 在文档中,他们提到了另外两个论点:pubClientsubClient.我应该提供吗?有什么不同?
  2. io.adapter的行为如何?例如,如果用户A连接到服务器A而用户B是服务器B,并且他们想要彼此"交谈".引擎盖下有什么?

谢谢.

cluster-computing websocket node.js express socket.io

8
推荐指数
1
解决办法
596
查看次数