如何使用Apache Brooklyn安装Tibco Spotfire?

时间:2015-07-06 08:58:08

标签: apache amazon-web-services spotfire brooklyn

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

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

这是我在Windows服务器上成功安装的yaml文件:

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

我想也许,

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

如果有人知道这些解决方案或其他解决方案,我真的很感激。

1 个答案:

答案 0 :(得分:1)

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

最简单的方法是使用由TIBCO提供的亚马逊市场的AMI。您可以将imageNameRegex替换为imageId(确保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