你好,
我计划安装一台容错的FME服务器2018.1。我想安装两个系统,每个系统有两个引擎。负载均衡器将管理对这两个系统的请求(如下所示)
我有两个问题:
1/是否可以将一个引擎专门用于“消息流”工作流(WebSocketReceiver/WebSocketSender)。亚搏在线假设主机1的引擎1。
2/是否可以只向主机2的发动机1发送“大作业”?据我所知,我将不得不在两个主机上复制队列,因此似乎不可能只使用一个引擎…
提前谢谢!
劳伦特
我刚买了带五个引擎的FME服务器2018.1。我想用新的2018.1容错配置,以及我自己的数据库和文件共享。
该系统提供了一个简单的FME服务器部署,并具有处理硬件和软件故障的灵活性。在这种情况下,核心,网状物,和发动机一起安装在一个过程中,可以多次添加,无需额外配置。
注意:在一次部署中,每个额外的核心不需要新的核心许可证。
系统部署需要更少的机器和简单的安装。然而,如果核心机器发生硬件故障,第二个内核必须具有CPU和内存容量,才能从故障机器上运行额外的引擎。
此方案将发动机部署在单独的机器上。这些引擎是用一个核心注册的,然而,如果注册的核心脱机,并且新的核心能够向其发送作业,则引擎的所有者将更改。虽然这是与本文讨论的第一个场景非常相似的安装,但区别在于a)稍微复杂一点的安装b)仅用于引擎节点的较小安装c)更少的故障转移核心和Web应用程序。
亚搏在线安全软件使容错体系结构变得更好!从2018年1月开始,FME服务器生成的功能有助于创建一个更健壮和易于配置的容错体系结构。新的容错部署取代了传统的“主动/主动”和“主动/被动”架构,并创建一个单一的可扩展体系结构,以满足先前两个体系结构的需求。
本文详细介绍了FME服务器2018.1容错体系结构。有关的详细信息实施容错体系结构,请审阅此文档.如果你对升级改造对于容错体系结构,请参照升级到2018.1容错部署.
FME服务器随组件恢复一起出现。这意味着,即使在单一系统上,FME服务器监控并可以重新启动无响应的组件,包括FME引擎(引擎)和FME服务器核心(核心)。
除了组件恢复之外,FME服务器提供了在崩溃发生时重新启动翻译(作业)的能力。FME服务器将继续重新提交转换,直到配置的尝试次数。这就确保了那些遇到临时问题的工作,比如网络打嗝,重新提交并再次运行。翻译恢复是可配置的,可以完全关闭。在FME服务器中了解更多信息管理指南:作业恢复配置.
如果单个硬件组件出现故障,则第三方负载均衡器。(一)将流量重定向到其余联机组件,这些核心或引擎可以继续处理所有操作,而无需任何手动干预。这大大减少了停机的机会。容错系统的共享FME服务器数据库(数据库)和FME服务器系统共享(系统共享)意味着无论将请求发送到哪个核心或引擎,都可以将该请求提取并路由回客户端。
如果您需要比容错体系结构允许的更多的处理能力,您可以向新的分布式或现有计算机添加更多引擎。您还可以选择增加每台机器上的发动机进程数。此外,分布式引擎允许处理接近数据的作业,或者可以通过特定的第三方集成进行设置。核心的工作管理功能允许将工作分配给引擎,这样当一个重要的工作出现时,您就不会等待一个免费的引擎了。
在FME服务器推荐的容错架构中,有两个或多个服务器,每个服务器包含FME服务器核心,FME发动机,以及FME Web应用程序。这些服务器都具有相同的功能(请参见下图)。
第三方负载均衡器将传入的流量导向核心,在核心机器故障的情况下,剩余的核心将接收传入的请求。
各组织应在各自的容错服务器上维护FME服务器数据库和系统共享。这确保容错的FME服务器能够可靠地访问工作区,存储库,资源,以及其他项目。此外,共享数据库和系统共享的好处是,用户不必担心数据复制或粘性会话的需要。
FME引擎可以驻留在核心系统或作为分布式引擎的独立机器上。在分布式用例中,如果连接了分布式引擎的核心出现故障,FME服务器将自动将发动机重新连接到下一个可用的核心。
2018.1容错示例部署
1)负载平衡器:第三方负载平衡器是必需的。它将传入的流量导向其中一个冗余的Web组件。(一)
2)FME服务器Web应用:冗余Web服务可以与核心安装一起安装,或者如果您的组织需要这些应用程序的单独服务器,那么您也可以分发此组件。
3)FME服务器核心(核心):核心是FME服务器的核心:管理服务器,作业管理通知,并处理与FME服务器组件的所有交互。像这样的,容错安装中必须有两个或多个内核。
4)FME服务器引擎:引擎可以安装在核心系统上,也可以分布在其他服务器上。如果与第三方软件的集成是您环境的关键,分发引擎是一种可选配置,这使得引擎可以与供应商软件一起安装。
5)FME服务器系统数据库:配置FME服务器时,您可以选择使用外部Oracle,用于承载FME系统数据库(数据库)的SQL Server或PostgreSQL数据库。此组件不会自动复制,它是数据库管理员的工作,用于确保数据库独立配置为容错消除单一故障点。
6)FME服务器系统共享:同样地系统共享应该在单独的机器上。系统管理员有责任确保其文件共享系统针对存储设备常见的硬件故障进行正确配置。
(1)FME服务器不包括负载平衡组件。客户有责任提供自己喜欢的负载平衡选项。使用FME服务器容错测试的选项为:F5,恩吉克斯HAProxy&美国焊接学会ELB。
FME服务器的容错方法在过去有两种形式:主动/主动安装或主动/被动安装。从2018年1月开始,FME服务器具有新的功能,有助于创建一个更健壮和易于配置的容错体系结构。新的容错部署具有先前主动/主动和主动/被动架构的优点,它正在替换。熟悉新事物是个好主意容错体系结构.
本文的目的是介绍在准备迁移时需要做什么。它强调了系统的差异,并提供了一种迁移方法,可应用于FME的传统主动/主动和主动/被动架构。
如果你愿意的话进一步了解容错体系结构,请审阅引入新的2018.1容错架构,和容错规划.
如果您使用的是主动-被动架构,并且您有两个或更多引擎,您可以使用当前的生产许可证信息在2018.1安装时生成新许可证。如果,然而,你有一个活跃/活跃的环境,任何其他环境,或有问题,请联系您的客户经理。(邮箱:sal亚搏在线es@safe.com或者你的FME经销商新的许可证。
将旧的主动/被动架构升级到2018.1容错架构
将旧的主动/主动体系结构升级到2018.1容错体系结构
注意:以下步骤是高级概述,有关详细说明,请参阅链接。
为FME云添加高可用性/容错支持。
FME云经常被吹捧为从Web资源接收流式数据以进行连续处理的理想解决方案,但如果FME云不容错,模型就会下降…
2018.0支持快速和分布式安装。
如果您正在计划分布式安装,请按照文档分布式安装不要从快速安装开始。如果您有一个快速安装并希望移动到分布式,拜托撑腰快速安装FME服务器,和恢复在新的分布式安装上。
我们建议离开FME服务器核心,在同一台计算机上为分布式安装排队和Web组件。
对于FME服务器2018.1,我们现在支持以容错方式部署它的能力。
FME服务器2018.0+已弃用故障转移,主动-主动和主动-被动配置有利于新的容错安装,这是对以前(现在已弃用)方法的重大改进。
如果您对FME服务器的容错安装感兴趣,请参阅以下文章:
设置FME服务器和配置容错时,建议建立一个容错文件系统来存储FME服务器系统共享文件夹。对于以前设置过此项的任何人,对于如何创建/设置容错文件系统,您有什么建议吗?
可以在分布式安装中配置FME服务器以使用外部数据库(例如对于高可用性安装,这实际上是必需的。在高可用性安装中不可能使用嵌入式FME服务器数据库。
当前的FME服务器配置要求与数据库的连接指定数据库正在通信的端口号。如果端口号为空,然后(对于SQL Server数据库),它默认为1433。
独立于FME,作为一种安全措施,可以将SQL Server配置为使用动态端口分配运行。因此,SQL Server连接端口会随着时间的推移而更改。
我发现的所有联机引用的状态是,只需从JDBC连接字符串中删除端口号就可以充分利用动态端口分配,然而,当端口号从FME服务器配置中的JDBC连接字符串中删除时,它将被替换为1433。我相信这是由FME服务器代码完成的。
我的请求是允许将FME服务器配置为使用SQL Server后端数据库的动态端口分配。
注:本文仅适用于FME服务器2018.0及以前版本。对于FME服务器2018.1+,请参照引入新的2018.1容错架构和升级到FME服务器2018.1容错部署.
高可用性对于任何成功的业务操作都至关重要。确保在失败时处理请求,FME服务器支持在集成系统的多个级别中配置高可用性。FME服务器以三种方式支持高可用性:
FME服务器随组件恢复一起出现。这意味着,即使在单一系统上,FME服务器监控并可以重新启动无响应的组件,包括FME引擎和FME服务器核心。这是通过FME服务器过程监视器和配置。FME服务器监控自身组件的能力确保了可靠的正常运行时间和可靠性。
除了组件恢复之外,FME服务器还提供了在发生崩溃时重新启动转换(作业)的能力。FME服务器将继续重新提交转换,直到配置的尝试次数。这就确保了那些遇到临时问题的工作,比如网络打嗝,重新提交并再次运行。翻译恢复是可配置的,可以完全关闭。在FME服务器的管理指南中了解更多信息:作业恢复配置.
故障转移环境的目标是删除单个故障点,以便组件发生故障,但不要让系统离线。我们支持FME服务器的故障转移方法有两种:主动/被动和主动/主动。
我们通常推荐主动/被动架构,这可以满足大多数客户的需求。这两种方法都有利弊。
采用主动/被动故障转移方法,当主动系统失效时,被动系统可以接管失效主动系统的能力,并承担主动系统的作用。这将使故障系统进入被动模式。当新的主动系统提供FME服务器的持续运行时,可以对故障系统进行调查。一旦被动系统恢复,它将保持在此角色中,直到主动系统发生另一个故障。主动和被动系统之间的心跳确保发生故障转移。通常导致这种故障转移的故障类型是硬件或操作系统崩溃,一次系统完全崩溃。
在主动/被动体系结构中,Web应用程序,FME服务器引擎和FME服务器数据库存储库是物理分离的。Web应用程序故障转移涉及到FME服务器Web应用程序/Web服务,故障转移配置是在第三方软件中进行的,而不是在FME服务器的配置中进行的。同样,FME服务器数据库存储库将位于一个单独的系统上,其容错配置超出了FME服务器的容错配置。下面将讨论FME服务器引擎。
故障转移时运行的任何转换,在活动的FME服务器核心上,但是,在被动系统的故障转移完成后将丢失,翻译将重新提交。
可以找到有关主动/被动容错的更多信息在这里.
在主动/主动故障转移体系结构中,有两个或多个系统的副本都具有相同的功能,负载均衡器将传入的流量导向其中一个可用的系统。FME服务器核心,Java Web应用服务器FME发动机,FME服务器数据库存储库都驻留在同一个系统上。其他系统的配置完全相同,当向任何系统发出请求时,它们是独立处理的,并且只能由一个系统来处理。硬件故障导致作业转换丢失,但是新的请求被定向到另一个系统。这种方法在AmazonWeb服务环境中很好地工作,在这种环境中,可以轻松克隆机器以扩展容量。
重要的是要理解,在系统发生故障之前,系统上运行的任何翻译都将丢失,直到故障系统重新联机。这是因为每个FME服务器核心都有一个单独的翻译请求队列,环境中的其他系统将不知道其他系统上的任何失败或挂起的翻译。
在容错环境中,FME服务器引擎安装在单独的物理(或虚拟)系统上创建冗余并防止硬件或操作系统故障。因为可以将FME服务器配置为同时运行多个引擎,可以将它们划分为多个系统。此外,FME服务器引擎任务可以通过作业传送-为运行某些作业而保留引擎的功能。例如,长时间运行的作业可以分配给特定的引擎,释放其他引擎以运行较短的作业。这种配置避免了所有引擎都无法运行长作业的情况,小工作排着队。
如上所述,在主动/被动部分,根据环境的体系结构,用户登录的Web界面将无缝地故障转移到被动系统。但是,Web应用程序的配置不是FME服务器故障转移配置的一部分。FME服务器同时支持ApacheTomcat和OracleWebLogic,因此这些应用程序中需要故障转移配置。
FME服务器系统故障转移后,未完成的已提交作业可能无限期地保留在作业队列中,无法处理或取消。
请注意:此问题已在FME Server 2014 Service Pack 3版本中修复。
为了解决问题,遵循以下步骤:
FME服务器2018.1+有一个新的容错配置系统,有关更多信息,请参阅 文档或 引入新的2018.1容错架构文章。
您能告诉我更多关于您的主动/被动容错配置的信息吗?
配置主动/被动容错时要考虑的FME服务器组件包括:
在为故障容限配置FME服务器时,Web应用服务器,数据库存储库和文件存储库与FME服务器过程(过程监视器,核心和引擎)。
Web应用服务器
Web应用服务器必须检测FME服务器核心中的故障并故障转移到备用或辅助系统。换句话说,如果群集中的单个JavaWeb应用服务器失败,故障转移系统将立即恢复,操作将继续。FME服务器管理员负责提供这部分环境,因为它需要额外的安装和配置,而不是FME服务器的容错配置。
FME服务器核心
在主动/被动容错环境中,一个FME服务器处于活动状态,另一个系统处于非活动状态,直到发生故障转移。系统之间的心跳监控活动系统的运行状况。如果检测到故障或心跳丢失,故障转移启动。一旦发生故障转移,非活动系统从FME服务器数据库存储库获取作业的所有权,并继续处理,允许几乎不间断地访问FME服务器服务。
FME服务器数据库
数据库存储库,在FME服务器存储和检索作业信息的地方,必须为复制配置以防止硬件故障。默认情况下,FME服务器安装一个随时可用的数据库存储库,但是在配置容错时,存储库通常在单独的计算机上使用。有FME服务器数据库存储库的三种可能性,神谕,SQL Server和PostgreSQL。每个数据库都有备份和恢复能力,以确保100%的正常运行时间。这些类型的环境的一些例子是Oracle的RAC,SQL Server的Alwayson和PostgreSQL的集群配置。FME服务器管理员有责任确保使用中的数据库正确配置为容错。
FME服务器文件系统
在主动/被动配置中,打算在不同系统之间共享的任何平面文件都应位于单独的计算机上。系统管理员有责任确保针对存储设备常见的硬件故障正确配置文件共享。