0

我正在寻找一个实体或 yaml 文件来通过 Apache Brooklyn 在 Windows 操作系统中安装 Tibco Spotfire。

Amazon Web Services (AWS) 提供此服务的安装: https ://aws.amazon.com/marketplace/pp/B00PB74KYY

这是我的 yaml 文件,它成功安装在 AWS 的 windows 服务器中:

name: Windows_OS_Example
location: 
  jclouds:aws-ec2:
    region: eu-central-1
    identity: <identity>
    credential: <credential>
    imageNameRegex: Windows_Server-2012-R2_RTM-English-64Bit-Base
    hardwareId: m3.medium
    useJcloudsSshInit: false
    templateOptions: {mapNewVolumeToDeviceName: ["/dev/sda1", 100, true]}
services:
- type: brooklyn.entity.basic.VanillaWindowsProcess
  brooklyn.config:
    install.command: echo true
    customize.command: echo true
    launch.command: echo true
    stop.command: echo true
    checkRunning.command: echo true

我想也许,

  • 还有另一个图像 (imageNameRegex) 将 Windows Server 和 Spotfire 放在一起
  • 或一项服务或类似的东西,它可以添加到 yaml 文件中的 jclouds 规范中,以在 Windows Server 安装后安装 Spotfire
  • 或 Java 实体的示例/解决方法来安装 Spotfire

如果有人知道这些解决方案中的一些或另一种,我真的很感激。

4

1 回答 1

1

最常见的 Brooklyn 方式是编写一个安装 Spotfire 的 Brooklyn 实体。这可以利用 Powershell 脚本或 Chef 食谱等(例如通过 WinRM)。我还不知道布鲁克林社区中有任何这样的预先存在的实体,并且不确定自动安装 Spotfire 有多复杂。

对您来说最简单的方法是使用来自亚马逊市场的 AMI,它由 TIBCO 提供。您可以替换imageNameRegeximageId(确保 AMI 的区域与位置的区域匹配)。请注意,您首先需要在市场 VM 的手动启动下单击“接受条款”(否则您将获得 401 未授权)。

下面的示例蓝图打开了所需的端口(为此创建了一个新的安全组)。如果您已经有要使用的安全组,则可以使用securityGroups: nameOfMySecurityGroup.

请注意,它是偷偷摸摸地(!)使用 EmptySoftwareProcess。这需要一个 ssh'able 位置,但随后被配置为不对其执行任何操作(因此给它一个 Windows VM 就可以了)。不幸的是,Windows 没有等效的“无操作实体”。VanillaWindowsProcess 希望能够使用 WinRM - 请参阅https://issues.apache.org/jira/browse/BROOKLYN-160

name: Spotfire @ AWS
location: 
  jclouds:aws-ec2:
    region: eu-central-1
    imageId: eu-central-1/ami-08330d15
    hardwareId: m3.medium
    templateOptions: {mapNewVolumeToDeviceName: ["/dev/sda1", 100, true]}
    useJcloudsSshInit: false
    waitForWinRmAvailable: false
    waitForSshable: false
    osFamilyOverride: linux
services:
- type: brooklyn.entity.basic.EmptySoftwareProcess
  brooklyn.config:
    requiredOpenLoginPorts: [3389, 80, 8080]  
    onbox.base.dir.skipResolution: true
于 2015-08-04T23:10:51.150 回答