Apache 布鲁克林蓝图使用实体

Apache brooklyn blueprint using entity

我正在尝试从 Apache Brooklyn 的可用实体创建应用程序。 我的蓝图是:

name: Tomcat3
location: 
  jclouds:....
services:
- type: brooklyn.entity.webapp.tomcat.TomcatServer
  name: tomcat
  provisioning.properties:
    minRam: 1024mb
    minCores: 2
    minDisk: 1024
  extraSshPublicKeyUrls:
  - https://.............../file.pub

这将创建一个 Tomcat 的实例,状态显示为 'Running',服务状态为 up 。但是当我连接到 tomcat 应用程序的 URL 时,我在那里看不到 Tomcat 运行。我在这里错过了什么?

有人可以帮我解决这个问题吗?

你和Tomcat的端口之间有很多层network/firewall。一些可能的可能性包括:

  • 是连接失败,还是404?如果是 404,那么是否只是没有 WAR 部署?
  • 虚拟机上的 iptables 运行 是否锁定了这些端口(如果是,请尝试使用位置配置 openIptables: true)。
  • 云是否提供 public IP(例如,在 vCloud Director 中,您需要使用布鲁克林的 "advanced networking" 配置来设置 NAT 规则)。

有很多可能性和调试选项。如果问题仍然存在,建议您跳转到 Apache Brooklyn 邮件列表或 IRC (https://brooklyn.incubator.apache.org/community/mailing-lists.html)。

问题是没有 WAR 文件被指定为根目录 WAR,因此在 tomcat url 上看不到任何内容。

解决方案是在蓝图的服务配置部分添加一个wars.root配置入口:

services:
- type: brooklyn.entity.webapp.tomcat.TomcatServer
  name: tomcat
  wars.root:
    http://search.maven.org/remotecontent?filepath=io/brooklyn/example/brooklyn-example-hello-world-sql-webapp/0.6.0/brooklyn-example-hello-world-sql-webapp-0.6.0.war
  ....