无法看到从远程ESP Studio运行ESP项目

2020-09-23 12:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) SAP事件流处理器专家, 我...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


SAP事件流处理器专家,

我一直在社区中进行筛选,似乎找不到能帮助我解决问题的案例。 希望您能指出解决方案。

我们才刚刚开始开发,到目前为止,已经在云中的SUSE Linux上运行了一个ESP 5.1 SP12安装。 集群数据库和node1正在运行。 通过同一私有网络中Windows终端服务器上的ESP Studio,我可以连接并运行第一个测试项目,以将输入流中的数据手动写入SUSE Server上的磁盘。

现在,我正在尝试通过笔记本电脑执行相同的操作,该笔记本电脑显然不在SUSE Server的专用网络内。 我能够通过端口19011上的群集的公共IP连接到群集,并且可以看到其中包含的工作区和测试项目。

但是,即使项目正在运行,我也看不到输入流。 当我在SUSE Server上停止该项目,然后尝试从我的笔记本电脑上的ESP Studio启动它时,实际上确实启动了该项目(我可以看到它从终端服务器上的Studio再次运行)。 但是,仍然无法在笔记本电脑上看到所包含的流。 右键单击该项目还会继续为我提供启动该项目的选项,而不是停止它(即使它正在运行)。 如果我尝试从我的笔记本电脑启动正在运行的项目,则错误消息告诉我该项目正在运行。 [FAILURE:应用程序当前状态未停止] [CODE:710077]

如果我试图通过专用IP或公用IP从专用网络中的终端服务器进行连接,则两者都可以正常工作。 我要注意这一点,因为从终端连接公共IP类似于从笔记本电脑连接公共IP。 它正在与网络中的公共IP配合使用,这使我猜测,问题正在逐步蔓延到如何在配置文件中设置IP和DNS名称。

我的配置如下:

SUSE上的
 start_db.sh:
 ESP_CLUSTER_DB_NAME = esp_cluster_esp1_esp.public.com 
SUSE上的
 cluster.cfg具有以下行:jdbc-url = jdbc:sybase:Tds::19111 
SUSE上的
 cluster.xml具有以下行:
  esp.private.com  
SUSE映射上的
/etc/hosts
 esp.public.com->公用IP
 esp.private.com->私有IP 
Windows终端服务器映射上的
主机
 esp.private.com->私有IP 
Windows笔记本电脑地图上的
主机
 esp.private.com->公用IP 

如果我尝试将 esp.public.com 用作STREAMING_HOSTNAME,则群集节点无法 甚至可以启动(请参阅 node1log.txt 中的错误日志)。 这就是为什么我最终将上述配置与 esp.private.com 一起使用的原因 在专用网络中,并且还允许我从远程ESP Studio连接到群集数据库。

所以我的问题是:从笔记本电脑连接后,为什么看不到正在运行的项目和所包含的流?

是否需要在云网络上打开其他端口以进行外部访问?如何正确配置我的目的?

在这一点上,我还要指出,本练习的最终目标是能够将用Java编写的发布者连接到流。 该发布者正在传感器设备上运行,该传感器设备应该可以从任何地方连接到Internet,以将数据流传输到SUSE上的ESP。 我无法通过以下例外连接该发布者:

线程"主"中的异常java.io.IOException:无法在com.sybase上调用:https://esp.private.com:48931/RPC2(无法读取服务器的响应:连接超时:connect)。  esp.sdk.internal.ProjectGateway.isBigEndian(ProjectGateway.java:1036)位于com.sybase.esp.sdk.impl.ProjectImpl.doUpdatePropertiesFromProject(ProjectImpl.java:1656)位于com.sybase.esp.sdk.impl._5_1_SP10。 位于com.sybase.esp.sdk.impl.ProjectImpl.doConnect(ProjectImpl.java:1421)的ProjectImpl.doUpdatePropertiesFromProject(ProjectImpl.java:39),位于com.sybase.esp.sdk.impl.ProjectImpl.connect(ProjectImpl.java:  172),位于sensordata.program.main(program.java:76)的sensordata.program.ConnectWithESP(program.java:103)

在我看来,该设备也能够连接到服务器,但是随后无法将发布者连接到流。 因此,为了解决此问题,我的想法是,我应该首先能够从远程位置连接ESP Studio。 因此,最后,我的问题不是真正出于开发目的而连接ESP Studio-我可以从终端服务器上的Studio中进行开发-真正地是关于连接Java发布者。

您可能想向我指出这个解决方案,它显然无济于事:
node1log.txt (4.8 kB)

4条回答
闻人可可
2020-09-23 13:01

感谢您的 很快的答案! :)

我尝试按照建议的方法在ESP Studio中配置网络连接,但并没有帮助。 另外,我确保连接中没有代理。

不过,我现在领先一步。 实际上,这里的问题是,用于通过https连接的端口已被阻止,需要打开-i。 e。 我检查了连接当前使用的端口(因为该端口似乎是在端口40000至50000之类的范围内随机分配的),并要求管理员打开该特定端口。

结果是,现在我可以在笔记本电脑上从Studio连接和断开项目。 我可以看到包含的流,并在"流视图"中查看它。

但是,这将导致下一个问题,并给我留下有关端口配置的未解决问题。

首先,下一个问题是,现在,如果我尝试通过Studio中的"手动输入"将数据输入流中,则会收到"连接超时:连接"的信息。

如果我现在尝试与Java传感器设备进行连接,我还会收到"连接超时:连接",但有关该异常的更多信息:

线程" main"中的异常java.net.ConnectException:连接超时:connect
 在sun.nio.ch.Net.connect0(本机方法)
 在sun.nio.ch.Net.connect(未知来源)
 在sun.nio.ch.Net.connect(未知来源)
 在sun.nio.ch.SocketChannelImpl.connect(未知源)
 在com.sybase.esp.sdk.internal.channel.SocketInformationChannel.open(SocketInformationChannel.java:30)
 在com.sybase.esp.sdk.internal.channel.SslSocketInformationChannel.open(SslSocketInformationChannel.java:29)
 在com.sybase.esp.sdk.internal.DataAccessSsl.open(DataAccessSsl.java:50)
 在com.sybase.esp.sdk.impl.PublisherImpl.doConnect(PublisherImpl.java:281)
 在com.sybase.esp.sdk.impl.PublisherImpl.connect(PublisherImpl.java:49)
 在sensordata.program.ConnectWithESP(program.java:106)
 在sensordata.program.main(program.java:76)

虽然我似乎无法在社区中快速找到该问题的答案,并且这可能与我的整体配置有关,但是您对此有解决方案吗?

第二,有关端口配置的未解决问题是如何配置端口池,该端口池可以或应该用于https连接。 由于端口似乎是随机分配的-标准ESP安装必须开放哪个端口范围? 对于应该馈入ESP的每个设备,是否可以将其限制为更少甚至特定的单个端口? 我们希望保持系统尽可能的密封,并对必要的端口进行一些控制。 如果您能指出有关此问题的相关文档,我将不胜感激。

许多问候!

丹尼尔

一周热门 更多>