|
验证安装
现在,您已经在计算机的虚拟机中创建了自包含的 InfoSphere Streams 开发环境。按照本节以下步骤验证正确安装和配置了所有产品,以便它们能够合作处理工作。
运行一个示例应用程序
为了验证所有 4 个产品都安装正确,并且能够合作处理工作,我们运行一个 InfoSphere Streams 提供的示例应用程序。例如,vwap 应用程序使用示例数据消耗预先记录的股票市场 feed,并通过比较证券的加权平均价格 (VWAP) 的竞价情况来检测几种指定证券的特价情况。该示例应用程序没有输出内容。
以下是运行 vwap 应用程序的步骤。
在 Eclipse 菜单栏,选择 Window > Open Perspective > Other ...。
在 “Open Perspective” 对话框,选择 InfoSphere Streams Studio 并单击 OK。
在 Eclipse 菜单栏,选择 File > Import …。
在 “Import” 对话框,扩展 InfoSphere Streams Studio 项,选择 Existing SPADE Application into Workspace,然后单击 Next。
在 “SPADE Application Import Wizard” 对话框,单击 Browse ...,导航到 /home/username/InfoSphereStreams/samples/apps,然后单击 OK。
在 SPADE Applications 字段,选择 vwap 实例应用程序并单击 Finish。
在 “Project Explorer” 面板,扩展 vwap 项目,然后选择 vwap.dps 源文件。
同样,在 “Project Explorer” 面板,双击 vwap.dps 源文件,然后确认源编辑器、Outline 视图、Application Graph 视图和 Application Graph Detail 视图,所有这些视图都用某种方式显示,如图 18 所示。
图 18. 示例应用程序源代码的 Studio 视图
Eclipse 环境屏幕截图,展示所有源代码编辑器、Outline 视图、Application Graph 视图和 Aplication Graph Detail 视图
右键单击 vwap.dps 源文件。在上下文菜单(图 19)上,选择 Run as > Submit SPADE Application to Streams instance。
图 19. 运行实例应用程序的 Studio
vwap.dps 源代码文件的上下文菜单,选择了 Run as > Submit SPADE Application to Streams instance
在 “Confirm Launch” 对话框,单击 OK。 “Console” 面板展示要编译和执行的应用程序。
当 “Streams Live Graph” 面板展示应用程序流图时,验证所有运算符都为绿色,并且连接了运算符之间的所有流(图 20)。
图 20. 验证示例应用程序运行的 Studio
Streams Live Graph 面板,所有运算符都为绿色,并连接了所有流
要停止应用程序,右键单击 vwap.dps 源文件显示其上下文菜单。在上下文菜单,选择 Run as > Stop Streams instance。
运行失败的示例应用程序
有关流式处理应用的程序应用程序开发工作流的简要指南,请按照以下步骤进行编译,并运行失败的应用程序。
在 Eclipse 菜单栏,选择 Window > Open Perspective > Other ...。
在 “Open Perspective” 对话框,选择 InfoSphere Streams Studio 并单击 OK。
要创建关键应用程序,右键单击空的 “Project Explorer” 面板显示上下文菜单,然后选择 New > SPADE Application Project。
将以下运算符添加到骨架 dps 文件的最后:
stream aStream(anInteger: Integer , aFloat: Float , aString: String)
:= Source() ["file:///anInputFile.csv", csvformat, nodelays] {}
Nil := Sink(aStream) ["file:///anOutputFile.csv", csvformat, nodelays] {}
要编译并执行 Spade 应用程序,访问 “Project Explorer” 面板并右键单击 dps 文件。通过上下文菜单,选择 Run As ... > Submit SPADE Application to Streams instance。
编译并执行应用程序之后,验证出现了 Streams Live Graph view,以及它类似于 Spade Application Graph 视图。
在几秒钟内,Streams Live Graph 视图的 Source 运算符的颜色将从绿色变为红色。这表示运算符失败。在该场景中失败是符合预期的。
要揭示此类 PE 失败的原因,将游标移动到红色的 Source 运算符上,等待弹出对话框出现,并记住 PE 编号,即标记的 PE Id(图 21) 。
图 21. 确认测试应用程序中失败 PE 的 Studio
Streams Live Graph 视图,鼠标位于失败的 Source 运算符上,信息对话框中 PE Id 显示为 4
启动 File Browser。访问 Linux Desktop 菜单栏并选择 Applications > System Tools > File Browser。
导航到包含 PE 日志的目录。在 File Browser 中,选择 File System > tmp > streams.spade@username > jobs > 0。
打开失败 PE 的记录。例如,如果 PE 编号为 4,您可以双击名为 pe4.pa.out 的文件。
查看出现在日志文件开始处的 ERROR ... Exception 消息。例如,图 22 展示的消息显示:failed to properly open workload file '.../data/anInputFile.csv'。 Source 运算符失败是因为它的输入文件没有退出。该错误是意料之中,因为您尚未创建该输入文件。
图 22. 定位 PE 日志中错误记录的 Studio
pe4.pa.out 日志文件,显示示例错误消息:failed to properly open workload file '.../data/anInputFile.csv'
取消失败的作业。返回 Eclipse,右键单击 “Project Explorer” 面板中的 dps 文件。在上下文菜单中,选择 Run As … > Cancel SPADE Application on Streams Instance。
要创建丢失的 data/anInputFile.csv 文件,在 “Project Explorer” 面板中右键单击 data 目录。在上下文菜单中,选择 New > File。
在 “New File” 对话框,在 File name 字段中输入 anInputFile.csv,并单击 Finish。
在 .../data/anInputFile.csv 编辑器面板中,输入包含整数、浮点、逗号字符分隔的字符串,如下所示:
1,1.1111,one
2,2.2222,two
3,3.3333,three
重新运行 Spade 应用程序。右键单击 dps 文件,在上下文菜单中,选择 Run As ... > Submit SPADE Application to Streams instance。
要验证应用程序现在正常运行,扩展 “Project Explorer” 面板中的数据目录,并确认它现在包含名为 anOutputFile.csv 的文件。
双击 anOutputFile.csv 文件并确认 .../data/anInputFile.csv 编辑器中展示的内容与示例输入匹配(图 23)。
图 23. 验证测试应用程序正在运行的 Studio
示例 anOutputFile.csv 文件的内容匹配建议的实例内容。
停止 Streams 运行时。在 “Project Explorer” 面板中右键单击 dps 文件,在其上下文菜单中选择 Run As ... > Stop Streams Instance。
SELinux 注意事项
本教程建议您安装 Linux 时将 SELinux (Security Enhanced Linux) 设置为 Permissive。如果有些应用程序请求访问系统资源不当,SELinux 限制可能会导致出现警告。发生这种情况时将出现一个弹出对话框。要了解哪些应用程序导致出现警告、遇到什么限制会出现警告以及如何解决该问题,请访问 Linux Desktop 菜单栏,然后选择 Applications > System Tools > SELinux Troubleshooter。
settroubleshoot 浏览器显示了有关每个 SELinux 警告的详细信息。
部署应用程序的 Linux 生产服务器可能将 SELinux 设置为 Enforcing。如果是这样,您需要将虚拟机中的 SELinux 也设置为 Enforcing。SELinux 设置为 Enforcing 时,应该使用 Linux 根用户特权安装 InfoSphere Streams。
如果需要将 SELinux 设置更改为 Enforcing,请访问 Linux Desktop 菜单栏,并选择 System > Administration > SELinux Management。提示时输入您的 Linux 根密码。在 “SELinux Administration” 对话框,将 Current Enforcing Mode 字段从 Permissive 更改为 Enforcing。
您可能必须重启虚拟机才能激活对 Enforcing 的更改。您还需要使用根用户特权在 /opt/ibm/ 系统目录中重新安装 InfoSphere Streams。
|
|