在《Java 如何调用 SPL 脚本》中我们介绍了在 Java 中可以部署集算器 JDBC 来调用本地 SPL 脚本,那如何能在 Java 中远程调用 SPL 脚本呢?这就是接下来要说的重点!
实现思路通过下图一目了然:
部署服务器
服务器是运行在 Java 平台上面向分析型的高性能数据库,作为高性能计算数据仓库,服务器可以在离线跑批、在线查询、多维分析和内存计算等方面提供高效的计算输出,帮助用户解决计算中的多种问题。
下面我们先来了解一下服务器的使用及配置,更多关于服务器的介绍可参考集算器在线文档《教程》服务器小节。
1. 服务器配置
在集算器安装目录的 esProc\bin 路径下,可以找到 esprocs.exe 文件,可以直接运行它来启动或配置服务器。使用 esprocs 时,会自动在安装路径下加载所需的 jar 包,但是需要注意此时使用的配置文件 raqsoftConfig.xml 和 unitServer.xml 必须放置在集算器安装目录的 esProc\config 路径下。运行后,打开窗口如下:
在 esprocs.exe 执行时,窗口中会显示加载初始设定的信息,这些设定实际上是由配置文件 raqsoftConfig.xml 决定的。在右侧的菜单栏中点击 Options,可以配置服务器的相关信息,点击后弹出服务器配置窗口如下:
在页面中,可以配置授权文件、主路径、寻址路径、日期时间格式、默认字符编码、日志等级、文件缓存区字节数等信息。
下面我们继续来了解服务器的配置,在右侧的菜单栏中点击 Config,可以配置分机的相关信息,点击后在 Unit 页面中可以配置分机信息,如下:
Temp file timeout 设定临时文件的生命周期小时数;Check interval 必须设定为正值或 0,为检查过期的间隔秒数;Proxy timeout 为代理生命周期,即远程游标、任务空间的生命小时数。如果 Temp file timeout 或者 Proxy timeout 设定为 0,则不检查过期。
分机列表 Host list 中,可以配置本机上所有可能用来运行服务器的分机,配置它们的 IP 地址,在进程列表 Process list 中,可以为一个 IP 地址配置多个进程的端口 Port,其中第一个为主进程。服务器启动时,会自动在分机列表中,寻找有空闲进程的分机,然后再由分机将任务交由某个进程执行。需要注意的是,IP 地址需要是本机的真实 IP,在使用多网卡的情况下可以设定多个 IP。
分机配置中,Max task number 是该分机允许执行的最大作业数,而 Preferred task number 是该分机的适合作业数,当分机中使用了多个进程时,适合作业数就是分进程的总数。在 Partitions 一栏中,可以选择每个分机上所使用的分区。
服务器的 Enable clients 页面中可以设定客户端白名单,如下:
选定 Check clients 后,可以在 Clients hosts 列表中,设定允许调用服务器的 IP 地址白名单,不在设定范围中的 IP 地址将无法调用服务器执行计算。
服务器设定完成后,点击 OK,此时可以自动设定对应的配置文件 unitServer.xml 如下:
12 1800 12