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

2020-09-23 12:04发布

         点击此处--->   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)

         点击此处--->   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条回答
N-Moskvin
1楼 · 2020-09-23 12:36.采纳回答

由于您正在使用云服务器实例,因此您将需要显式配置ESP项目正在使用的端口。 到目前为止,这听起来像是您的网络管理员打开了3个必需端口中的1个,并且由于默认行为是每次启动项目时都会动态分配端口,因此您会发现每次启动/重新启动项目。 通过将项目配置为始终使用相同的3个端口,您将能够显式地仅打开项目所需的3个端口。 请参阅此博客文章,以获取有关如何指定端口的说明:

指定要由Smart Data Streaming项目使用的命令端口

尽管该帖子是专门为HANA智能数据流编写的,但ESP项目的项目配置步骤和对话是相同的。

奄奄一息的小鱼
2楼-- · 2020-09-23 12:57

在ccr文件中设置三个项目端口,然后按所述为它们打开防火墙是确切的解决方案! 谢谢! :)

吹牛啤
3楼-- · 2020-09-23 12:57

这很可能是因为您通过代理进行连接。 虽然我认为它可能是由其他原因引起的,但我已经多次看到这个确切的问题,并且它始终是代理设置。 试试这个:

1。 在ESP Studio中,转到菜单窗口>>首选项

2。 在导航栏中,选择"常规",然后选择"网络连接"

3。 将"主动提供程序"分为"手动"

4。 配置HTTPS架构,添加代理的主机名(如果不知道,请尝试"代理")以及端口号(最有可能是8080)。

闻人可可
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的每个设备,是否可以将其限制为更少甚至特定的单个端口? 我们希望保持系统尽可能的密封,并对必要的端口进行一些控制。 如果您能指出有关此问题的相关文档,我将不胜感激。

许多问候!

丹尼尔

一周热门 更多>