0

是否有任何简单的方法可以将作业远程发送到主 Carte 服务器并将每个作业委托给不同的从服务器?

根据我的阅读,我在 Pentaho 中开箱即用的负载平衡的唯一选择是在我的转换中的步骤上调整集群配置,然后包含此配置的转换步骤将使用定义的从服务器。这样我可以有一种“某种”负载平衡方法,但实际上它是单个作业的并行化。

这不是我要找的。我需要的是一种更简单的方法,它不涉及工作并行化的复杂性,而是简单地将每个工作或转换以循环方式传递给不同的从属设备,从而行使所有硬件而不是在主服务器上运行的所有内容.

提前致谢

4

1 回答 1

3

我希望我的回答对您有所帮助,即使我不是专家,而是 Pentaho 的用户,他只是试图做与您描述的完全相同的事情,到目前为止我的经验是这样的:

(如果有人发现我的回答有问题,请告诉我。我也想学习=D)

什么是 PDI 集群?- 横向扩展解决方案

Pentaho 数据集成集群非常棒(1)可以将占用大量 CPU/内存的巨大转换分解为更小的块,以及(2)通过巧妙的设计加快执行时间,或者至少让它在通用硬件中运行(不是具有 24 个 CPU 和 256GM RAM 的大型服务器)

有没有办法在集群内自动分配转换(循环)?

很抱歉,直到现在我还无法在我的 AWS 实例中做到这一点。我在 AWS 中使用 3 EC2 来测试具有以下一些不同结构的分布:

  • 一个主,两个从——我将所有的转换条目发送给同一个主执行,希望它会在从之间循环,只有当从有很多事情要做时才执行一些转换。但事情并没有这样发生,主人把所有的工作都给自己拿走了,奴隶们什么也没做。(如果您发送要运行并行转换的作业,也会发生同样的情况)
  • 三个主机,通过弹性负载均衡器- AWS 的 ELB 是一种很棒的方式,可以将来自不同来源的应用程序请求分发到您的所有 EC2 实例,我认为它可以帮助我将我的转换分发到所有的 carte 机器(所有主机)。事实证明,如果发出请求的是同一主机,您将被指向同一个 EC2 实例。所以每次我发送测试作业运行时,一个随机的 master 接受所有请求,其他的只是坐在那里等待。这里没有好消息。
  • 三个 master,route 53 - Route 53 是 AWS DNS 服务,具有以多种不同方式路由您的网站/webapp 请求的特殊能力。其中之一是循环赛。但是我遇到了 Elastic Load Balancer 给我的同样问题。一台随机服务器遇到了所有麻烦,所以这里也没有好消息。

可能的解决方案

好吧,这不仅仅是一场噩梦,您无法将您的转换分配给一堆其他机器执行。你真的可以!但是 Carte、Elastic Load Balance 和 Route 53 都不会为您进行循环。因此,您只需将所有从属服务器(或主服务器)添加到您的工作中,为每个转换分配不同的从属服务器。这在高级选项卡中是可行的,如屏幕截图所示:

在哪里选择应该运行此转换的远程服务器

于 2016-01-02T01:38:01.810 回答