在 UNIX 环境下部署高效的 IBM SPSS Modeler Server

IBM SPSS Modeler Server 作为企业级数据挖掘工作平台,具有快速建立预测性模型、改进决策过程、支持从数据到更优商业成果的整个数据挖掘等特性。其 Server/Client 共享软件操作,一起在分布式分析模式下不间断运行,因此合理配置部署可以优化整个系统的性能,也为自动化方面带来更多优势。本文通过实例介绍了三种配置部署策略,分别满足不同类型的客户需求,使客户能顺利的应用到实际的业务流程中。

贺敏, 软件工程师, IBM

贺敏, 2007 年加入 SPSS,一直专注于产品自动化测试和功能测试,熟悉 RFT、Silk Test 、autoit 等自动化工具。



刘晓燕, 软件工程师, IBM

刘晓燕,IBM QA 工程师,从事软件测试近 10 年,擅长设计测试用例,目前从事数据挖掘软件的测试。



杨晓玲, 软件工程师, IBM

杨晓玲,IBM 助理软件工程师,自 2007 年加入 SPSS 至今,一直致力于 IBM SPSS Modeler 的产品测试。



2012 年 6 月 21 日

Modeler Server 架构和系统特点

IBM SPSS Modeler Server 作为企业级数据挖掘工作平台,与一个或多个 IBM SPSS Modeler 安装程序一起在分布式分析模式下不间断运行。它采用三层分布式基础架构,如图 1 所示,通过网络与 Modeler 和数据库相连接,服务器和客户端计算机共享软件操作项。借助分布式基础架构,多数处理将在服务器计算机上进行。最终用户执行某个 Stream 时,SPSS Modeler 会将此 Stream 的描述发送给服务器。服务器将判断哪些操作可以在 SQL 中执行并创建相应查询。这些查询可以在数据库中执行,执行后得出的数据将传递给服务器来进行无法用 SQL 语言描述的处理。处理完成后,仅将相关结果回传给客户端。安装和使用 SPSS Modeler Server(相对于独立的 SPSS Modeler)有诸多优势,尤其是在处理大型数据集合。

图 1. IBM SPSS Modeler Server 基础架构
图 1. IBM SPSS Modeler Server 基础架构

Modeler Server 基本部署和配置管理

操作系统及最低硬件和软件要求

以 Modeler Server 15 为例,其支持的 UNIX 操作系统如表 1 所示。

表 1. 支持的 UNIX 操作系统
操作系统版本x86x64PowerPCSPARC-64IA-64IBM Z
IBM AIX6.1 or 7.1/ / X / / /
HP-UX11i v3 / / / / X /
Red Hat Enterprise Linux5.x or 6.xXX / / / X
Oracle Solaris9.x or 10 / / / X / /
SUSE Linux Enterprise Server10 or 11 / X / / / /

硬件 : PowerPC 处理器,233MHz 或速度更快。
IBM System p 用于 IBM AIX;Itanium 处理器用于 HP-UX;UltraSPARC II 用于 Solaris;Pentium 或 Pentium 级处理器或更高用于 32 位 Linux;x64(AMD 64 和 EM64T)处理器系列或 IBM System s390x 用于 64 位 Linux。
最小可用磁盘空间推荐 2GB。
RAM 推荐 4GB。

安装 Modeler Server 的三种模式

Modeler Server 的安装程序是在 UNIX 平台上可执行的以 bin 为扩展名的程序包。例如 ZLinux 平台上 Modeler Server 15 的安装程序为 modelerserverzlinux64.bin。安装程序前,需要有安装目录的读写权限,然后检查安装程序要使用的临时目录和安装目录是否有足够的空间。默认情况下,IBM SPSS Modeler Server 会安装到程序包下的 /IBM/SPSS/ModelerServer/"version",也可以在图形安装向导或命令行安装中更改此路径。如果要运行无提示安装程序,可在 installer.properties 中设置 USER_INSTALL_DIR 的值。

  1. 图形安装

图形化安装可以显示友好的用户界面,并设置各项安装参数,如安装路径等。运行图形安装安装向导,需要 X Window 系统的支持。具体方法是在 Windows 平台上运行 Exceed 软件,并将图形界面重定向到 Windows 机器上。首先在 Windows 端安装 Hummingbird Connectivity 应用程序包,然后运行其中的 Exceed 程序,等待连接。在 UNIX 端,先运行命令 export DISPLAY=<ip_address>:0.0,其中 <ip_address> 为 Windows 机器的 IP 地址。然后在安装程序所在目录下,运行 ./<installer_name>,其中 <installer_name> 指以 bin 为扩展名的安装程序文件。安装程序加载完成后,安装向导窗口就会出现在 Windows 桌面上,然后按照安装向导所给的指示完成安装过程。

  1. 命令行安装

使用命令提示符来指定安装参数,在 UNIX 上运行 如下命令:

 . /Chmod 777 <installer_name> 
 ./<installer_name> -i console

在安装程序加载完成后,控制台程序会等待输入安装参数。解压包后选择 Locale,然后输入安装路径继续安装进程,其中进度条显示了安装的进程直到安装完成。

  1. 无提示安装

无提示模式是在没有任何用户交互的情况下启用安装。安装参数是一个属性文件 installer.properties,从 DVD 根目录下的 UNIX/Administration 目录复制到安装程序的位置,参数如下所示:

 INSTALLER_UI=silent 
 LICENSE_ACCEPTED=true 
 USER_INSTALL_DIR=<value>

第一行参数使安装程序进入静默安装模式,第二行参数使安装程序自动接受许可协议而不是等候用户选择,第三行参数用 <value> 指定 Modeler Server 所需的安装路径。此路径不能含有空格。如果要安装到默认安装目录,注释掉此行,不要将其设置为 <value>。 指定了安装路径后,保存属性文件,运行如下命令即可开始安装。

 ./<installer_name> -f installer.properties

Modeler Server 后台程序管理

  1. 启动 Modeler Server 后台进程

Modeler Server 安装成功后,为了便于使用和管理,需要在后台将进程启动起来。作为守护进程运行,Modeler Server 默认以 root 权限运行。通过运行安装路径 bin 下的启动脚本 modelersrv.sh 来启动应用程序,必须从该位置运行启动脚本,如下所示:

 sudo ./modelersrv.sh start

为了确保系统上的内核函数限制对 Modeler Server 的操作,其数据、内存和文件应在 Modeler Server 环境内设为无限。添加如下命令至 modelersrv.sh,然后重新启动 Modeler Server。

 ulimit – d unlimited 
 ulimit – m unlimited 
 ulimit – f unlimited
  1. 查看 Modeler Server 的状态

通过使用 Sudo ./modelersrv.sh list 命令可以获取相关各服务器进程正在运行的信息,并报告进程的状态。果后台程序正在运行,命令的输出列表中的第一个进程就是刚刚启动的守护进程。这就意味着 Modeler Server 已经就绪,可以接受来自终端用户的连接请求了。

  1. 停止 Modeler Server 后台进程

在 Modeler Server 目录的 /bin 子目录下运行 Sudo ./modelersrv.sh shutdown 停止最近一次启动的后台进程。

  1. 处理不响应 Modeler Server 后台进程

Modeler Server 进程可能由于多种原因而不响应,包括其系统调用或 ODBC 驱动程序调用被堵塞(调用不返回或返回用时很长)的情况。UNIX 进程出现这种情况时,可使用 UNIX kill 命令将其清理,如下所示:

 sudo ./modelersrv.sh stop 
 sudo ./modelersrv.sh kill

Modeler Server 部署策略和实例说明

Modeler Server 具有若干控制其行为的配置选项,可以通过两种方式设置这些选项:使用 Modeler Administration Console 应用程序和配置 options.cfg 文本文件。编辑文件需要访问 Modeler Server 文件系统,而通过 Modeler Administration Console 可以授予任何具有用户帐户的人员调整这些选项的权限。同时,Modeler Administration Console 还提供了服务器进程的其他信息,从而使用户能够监视使用情况和性能。与编辑配置文件不同,大多数配置选项都可在不重新启动 Modeler Server 的情况下进行更改。

部署策略 1 后台文件手动配置

options.cfg 文件位于 Modeler Server 安装路径的 config 目录下。每个设置由逗号分隔的名称 - 值对表示。例如更改默认侦听端口,Modeler Server15 守护进程的默认侦听端口为 28052,如果需要启动多个后台程序,直接使用 start 命令会导致失败。因为 28052 端口已被占用,可以通过修改此默认端口来解决问题。在第二次启动前,找到配置文件 options.cfg 中的 port 元素,将其属性 value 值由 28052 改为一个新的不会冲突的值,如 28555,然后再启动后台程序。options.cfg 中的大多数配置选项均可使用 Modeler Administration Console 来进行更改,而不用手动配置文件。

部署策略 2 Administration Console 配置管理

Modeler Administration Console 应用程序可提供一个用以监控和配置 SPSS Modeler Server 安装程序的控制台用户界面。该应用程序只能安装在 Windows 计算机上,但是可以管理安装在任何受支持平台上的服务器。Modeler Administration Console 应用程序提供了一个共享图形界面,通过此界面可以连接、配置和监视多个服务器,如图 2 所示:

图 2. Modeler Administration Console 界面
图 2. Modeler Administration Console 界面
  1. 使用 Modeler Administration Console 配置访问权限

首先,要在 options.cfg 文件中对 administrators 行进行控制使用 Modeler Administration Console 访问 SPSS Modeler Server 的权限,默认情况下该行是被注释掉的,因此用户必须编辑此行以便将访问权限赋予特定用户,或使用 * 将访问权赋予所有用户,示例如下:

 administrators, "*"
 administrators, "username1,username2,username3"
  • 行必须以 administrators 开头,并且条目必须用半角双引号引起来。条目字符 区分大小写。
  • 用半角逗号分隔多个用户 ID。
  • 禁止使用域名作为 Windows 帐号。
  • 要特别注意"*"的使用。一旦设置为"*",则表示具有 IBM® SPSS® Modeler Server 的有效用户帐号的任何用户均可以登录和更改配置选项。
  1. SPSS Modeler Server 连接

使用 Modeler Administration Console 来配置管理网络上的 SPSS Modeler Server,首先需要指定与每台 SPSS Modeler Server 的连接,然后逐个登录每台服务器。

创建服务器连接:

  • 确保 Modeler Server 服务已启动。
  • 选择"文件"菜单上的新建,然后选择管理的服务器连接。
  • 在向导首页,输入服务器连接的名称。名称供用户自己使用,应该是描述性质的名称,例如,生产服务器。确保已将"类型"设为管理的 IBM SPSS Modeler Server,然后单击下一步。
  • 在第 2 页,输入服务器的主机名和 IP 地址。如果更改了默认的端口,则请输入端口号,然后单击完成。新服务器连接即显示在"服务器管理员"窗格中。如果要执行管理任务,则须登录到 Server。
  • 在"服务器管理员"窗格中双击选择用户要登录的服务器。在"登录"对话框中输入用户凭证(使用服务器主机的用户帐号)后确定。如图 3 所示。如果登录失败并显示无法获取服务器上的管理员权限的消息,最有可能的原因是未正确配置管理员的访问权限。
  • 登录到 SPSS Modeler Server 后,可以看到服务器名称下方显示的两个选项,即配置和监视。
图 3. 登录界面
图 3. 登录界面

连接 / 会话的设置,如图 4 所示:

图 4. 连接 / 会话设置界面 1
图 4. 连接 / 会话设置界面 1

最大连接数– 1 表示无限制。端口号中如果默认端口 (28052) 已被其他应用程序使用,则须更改端口号。最终用户必须知道端口号才能使用 SPSS Modeler Server。 例如若设最大连接数为 2,如图 5 所示:

图 5. 连接 / 会话设置界面 2
图 5. 连接 / 会话设置界面 2

先用两个不同的 modeler 客户端连到 modeler server, 当第三个 modeler client 连接到这个 server 上,会出现图 6 所示界面:

图 6. 登录界面 - 超过最大连接数
图 6. 登录界面 - 超过最大连接数

断开其中一个连接,点击 OK 后,尝试重新连接 modeler server 即可连接成功。 日志记录的设置,如图 7 所示:

图 7. 日志记录设置界面
图 7. 日志记录设置界面

数据文件访问权限的设置如图 8 所示,其中 max_file_size 设为 -1 表示无限制(不适用于 SAS 和 SPSS Statistics 数据文件)。temp_directory 用于存储临时数据文件(缓存文件)。在理想情况下,该目录应当在独立的高速驱动器或控制器上,因为对该目录的访问速度对性能可能有显著影响。可以指定多个临时目录,并分别用逗号隔开。这些目录应当位于不同的磁盘,其中第一个目录使用最频繁,而其他目录则在执行过程中特定数据准备操作(例如排序)平行应用时,用于存储临时工作文件。允许每个执行线程使用独立磁盘进行临时存储以提高性能。SPSS ModelerServer 启动期间会在此目录下生成临时文件。确保用户对该目录拥有所需的访问权限(例如,如果临时目录为共享网络文件夹),否则 SPSS Modeler Server 启动将失败。

图 8. 数据文件访问设置界面面
图 8. 数据文件访问设置界面

注意:所有路径名中应使用正斜线,指定多个目录时请使用半角分号隔开(例如,[server install path]/data; c:/data;c:/temp)

部署策略 3 Administration Console 中性能优化

在 Administration Console 中,性能优化界面如图 9 所示:

图 9. 性能优化界面
图 9. 性能优化界面

流重写 (stream_rewriting_enabled) 允许服务器通过重写流来实现对流的优化。 例如,服务器可能会在接近源节点的位置进行数据削减操作,以尽早实现数据集规模的最小化。通常仅在此优化导致错误或其他不应有的结果时,才建议禁用此选项。此设置将覆盖相应的客户端的优化设置。

以下是流重写的举例说明,参看图 10 和 11 所示:

图 10. stream_rewriting_enabled 设为 Y
图 10. stream_rewriting_enabled 设为 Y

当 stream_rewriting 设为 Y(default) 时,当客户端连接到 modeler service,执行 stream,在 message log 里检查信息会发现类似 Stream optimisation complete (2 rules applied) 的语句显示在 message log 里。这意味着流优化已经发生。

图 11. stream_rewriting_enabled 设为 N
图 11. stream_rewriting_enabled 设为 N

从上图可以看出,当 stream_rewriting 设为 N 时,重启 modeler service,在客户端重新连接 modeler server, 执行同一个 stream, 可以看出,优化语句并未显示在 message log 里,这说明服务器是不允许通过重写流来实现对其的优化。

并行性 (max_parallelism) 是指运行流时允许 SPSS Modeler 使用的并行工作程序的线程数量。如果设置为 0 或负数,则 SPSS Modeler 将认定允许使用的线程数为计算机上可用处理器的数量,此选项的默认值为– 1。要关闭(针对多处理器的计算机)并行处理需将此选项设置为 1。要限制并行处理线程数,需将此选项设置为比计算机上的处理器数量小的数字。超线程或双核处理器将被当作两个处理器。

缓存压缩 (cache_compression) 为一个 0 到 9 的整数值,它控制缓存和服务器临时目录中其他文件的压缩。压缩在磁盘空间有限时很重要,因为压缩可以降低磁盘空间的使用量,而且压缩还能通过减少创建和读取缓存所需要的磁盘活动量,改善性能。虽然压缩会延长处理器时间,但因为缩短了磁盘访问时间,因而得到几乎等量的补偿。注意:只有某些被顺序访问的缓存才能被压缩。此选项不适用于随机访问缓存,比如网络训练算法使用的缓存。值为 0 将完全禁用压缩。值从 1 增大,压缩程度会随之增加,但相应的访问时间也会增加。默认值为 1;除非磁盘空间实在有限,否则不需要设比默认值更大的值。

内存使用倍增器 (memory_usage) 可控制为排序和其他内存缓存分配的物理内存的比例。默认值为 100,相当于大约 10% 的物理内存。有可用的空闲内存时,增加该值可提高排序性能,但是如果该值增加得太高则有可能导致过度分页。

最大和最小服务器端口设置,默认情况下,SPSS Modeler 将使用任何一个可用的打开端口;如果它未找到端口(例如,所有的端口都被防火墙关闭),那么执行流时就会显示错误信息。要配置端口的范围,除主服务器端口外,SPSS Modeler 还需要两个每个并行的流都能使用的打开端口,以及为每个具有 ODBC 连接的连接客户端打开一个附加的端口。如果要执行更多并行的流 , 用户可以增大端口号的范围,然后相应地在防火墙上打开更多的端口。

注意:如果用户更改了这些参数,就需要重新启动 SPSS Modeler Server 以使所做更改生效。 SQL 的配置管理如图 12 所示:

图 12. SQL 的配置管理
图 12. SQL 的配置管理

自动 SQL 生成允许为流自动生成 SQL,这可以极大提高性能。默认为已启用。 SSL 的配置管理如图 13 所示:

图 13. SSL 的配置管理
图 13. SSL 的配置管理

启用 SSL 是为 SPSS Modeler 和 SPSS Modeler Server 之间的连接启用 SSL 加密。对于 私有密钥必须经过至少一个证书授权机构(列于配置的证书文件中)签署。

进程协调器配置如图 14 所示:

图 14. 进程协调器配置界面
图 14. 进程协调器配置界面

主机 Host 为进程协调器服务的主机名或 IP 地址。默认的"spsscop" 是一个无效名称,管理员可以选择添加它作为 DNS 中 IBM SPSS Collaboration and Deployment Services 主机的别号。

SPSS Modeler Server 监视

Modeler Administration Console 的监视窗格是用一个快照来显示 SPSS Modeler Server 计算机上运行的所有进程,同 Windows 任务管理器一样。要激活监视窗格, 需双击"服务器管理员"窗格中所需要服务器下方的"监视"节点。这样就向窗格填充 了来自服务器的当前数据快照。数据将按所显示的速率(默认为一分钟一次)进行刷 新。也可单击刷新来手动刷新数据,如图 15 所示:

图 15. Modeler Administration Console 的监视窗格
图 15. Modeler Administration Console 的监视窗格

结束语

IBM SPSS Modeler Server 除 Windows 系统以外,可以在 UNIX 上运行,这样在选择安装平台时更具灵活性。本文通过对 Modeler Server 的各种配置管理,可以对大型的数据集合执行排序、合并和聚合操作,将数据挖掘过程集合在一起,有助于规范业务流程中数据挖掘的作用,实现数据挖掘任务自动化,管理对数据模型的访问,在组织内共享数据挖掘成果,使其更容易被企业和市场接受。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, AIX and UNIX
ArticleID=822350
ArticleTitle=在 UNIX 环境下部署高效的 IBM SPSS Modeler Server
publish-date=06212012