首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jasperreports服务器可以很好地处理实际的EC2,但不能使用来自同一个AMI的实例

Jasperreports服务器可以很好地处理实际的EC2,但不能使用来自同一个AMI的实例
EN

Stack Overflow用户
提问于 2017-10-20 02:27:10
回答 1查看 233关注 0票数 1

我有一个安装了jasperreports服务器的EC2-1,我可以很容易地通过http://IP_ADDRESS1:8081/jasperserver访问它。

现在我已经拍了一张EC2-1的照片。一旦AMI可用,我就启动了一个新的EC2-2。像往常一样,我使用SSH登录到EC2,并能够运行脚本./ctrlscript.sh start来访问应用程序。但是,当我尝试登录http://IP_ADDRESS2:8081/jasperserver并运行报告时,我在jasperserver.log中得到以下错误信息,并且无法获取报告

代码语言:javascript
复制
300 ERROR WebServiceConnector,pool-4-thread-1:139 - Communication error java.net.ConnectException: Connection timed out
320 ERROR AsyncJasperPrintAccessor,pool-4-thread-1:321 - Error during report execution

根据我对**EC2 vs AMI**和.As的理解,EC2-1EC2-2必须是相同的,谁能给我一些澄清。但是在这种情况下,为什么我不能在EC2-2中运行报告,而我仍然可以在EC2-1中运行报告。

另外,如果我在这里遗漏了什么,也请指导我。谢谢你们所有人。

EN

回答 1

Stack Overflow用户

发布于 2017-11-11 03:11:34

从原始EC2实例的AMI启动的新EC2实例应该包括您在源实例上所做的任何配置更改,这一点是正确的。

从您的描述来看,关于新EC2实例的一切听起来都很好:您可以通过SSH连接到它,可以启动JasperReports服务器,还可以登录到web界面。只有当您尝试运行报告时才会出现问题--这是一个重要的细节,因为运行报告对外部数据源具有外部依赖性。

测试与数据源的连接

在JasperReports Server Web UI中,找到您的数据源并转到其编辑页面以测试连接。您应该能够在大多数数据源的编辑页面底部找到它。例如,在JDBC UI中:

尝试在您的新实例上测试Jasper从该页面到数据源的连接。

验证网络规则

在我看来,这就像是一个网络错误,特别是在新的EC2 JasperReports实例和报告的数据源之间。此EC2实例外部可能存在一个网络规则,该规则存在于您的原始实例中,但没有为新实例更新。例如,如果您有一个允许从原始实例的CIDR到数据源的入站流量的安全组,而它没有针对新实例的CIDR进行更新,则当JasperReports服务器尝试连接到数据源时,您将看到此类超时。

如果与上述数据源的连接测试失败,请检查security groups或私有网络network ACLs等资源的外部网络规则,并验证您的原始EC2实例的所有规则是否已更新为对您的新EC2实例也有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46836542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档