Java如何远程调用SPL脚本

  

在《Java如何调用SPL脚本》中我们介绍了在Java中可以部署集算器JDBC来调用本地SPL脚本,那如何能在Java中远程调用SPL脚本呢?这就是接下来要说的重点!

实现思路通过下图一目了然:

癑ava如何远程调用SPL脚本"

部署服务器

服务器是运行在Java平台上面向分析型的高性能数据库,作为高性能计算数据仓库,服务器可以在离线跑批,在线查询,多维分析和内存计算等方面提供高效的计算输出,帮助用户解决计算中的多种问题。

下面我们先来了解一下服务器的使用及配置,更多关于服务器的介绍可参考集算器在线文档《教程》服务器小节。

1。服务器配置

在集算器安装目录的esProc \ bin路径下,可以找到esprocs。exe文件,可以直接运行它来启动或配置服务器。使用esprocs时,会自动在安装路径下加载所需的jar包,但是需要注意此时使用的配置文件raqsoftConfig。xml和unitServer。xml必须放置在集算器安装目录的esProc \ config路径下。运行后,打开窗口如下:

癑ava如何远程调用SPL脚本"

在esprocs。exe执行时,窗口中会显示加载初始设定的信息,这些设定实际上是由配置文件raqsoftConfig。xml决定的。在右侧的菜单栏中点击选项,可以配置服务器的相关信息,点击后弹出服务器配置窗口如下:

癑ava如何远程调用SPL脚本"

在页面中,可以配置授权文件,主路径,寻址路径,日期时间格式,默认字符编码,日志等级,文件缓存区字节数等信息。

下面我们继续来了解服务器的配置,在右侧的菜单栏中点击配置,可以配置分机的相关信息,点击后在单位页面中可以配置分机信息,如下:

癑ava如何远程调用SPL脚本"

临时文件超时设定临时文件的生命周期小时数;检查间隔必须设定为正值或0,为检查过期的间隔秒数;代理超时为代理生命周期,即远程游标,任务空间的生命小时数。如果临时文件超时或者代理超时设定为0,则不检查过期。

分机列表主机列表中,可以配置本机上所有可能用来运行服务器的分机,配置它们的IP地址,在进程列表过程列表中,可以为一个IP地址配置多个进程的端口港口,其中第一个为主进程。服务器启动时,会自动在分机列表中,寻找有空闲进程的分机,然后再由分机将任务交由某个进程执行。需要注意的是,IP地址需要是本机的真实IP,在使用多网卡的情况下可以设定多个IP。

分机配置中,最大任务数是该分机允许执行的最大作业数,而优先任务数量是该分机的适合作业数,当分机中使用了多个进程时,适合作业数就是分进程的总数。在分区一栏中,可以选择每个分机上所使用的分区。

服务器的使客户页面中可以设定客户端白名单,如下:

癑ava如何远程调用SPL脚本"

选定检查客户后,可以在客户主机列表中,设定允许调用服务器的IP地址白名单,不在设定范围中的IP地址将无法调用服务器执行计算。

服务器设定完成后,点击好,此时可以自动设定对应的配置文件unitServer。xml如下:

 & lt; ?xml version=" 1.0 " encoding=" utf - 8 " ?比;
  
  & lt;服务器版本=?”在
  
  & lt; TempTimeOut> 12 & lt;/TempTimeOut>
  
  & lt; Interval> 1800 & lt;/Interval>
  
  & lt; ProxyTimeOut> 12 & lt;/ProxyTimeOut>
  
  & lt; Hosts>
  
  & lt;主机ip=?92.168.107.1 maxTaskNum”=?”preferredTaskNum=?”比;
  
  & lt; Partitions>
  
  & lt;分区名称==" 0 "路径" d:/文件/并行/node1/0”比;
  
  & lt;/Partition>
  
  & lt;分区名称==" 1 "路径" d:/文件/并行/node1/1”比;
  
  & lt;/Partition>
  
  & lt;/Partitions>
  
  & lt; Units>
  
  & lt;单位端口=" 8281 "比;
  
  & lt;/Unit>
  
  & lt;单位端口=" 8282 "比;
  
  & lt;/Unit>
  
  & lt;/Units>
  
  & lt;/Host>
  
  & lt;/Hosts>
  
  & lt; EnabledClients检查=" true "比;
  
  & lt;主机开始=?92.168.107.1”结束=?92.168.107.1”比;
  
  & lt;/Host>
  
  & lt;/EnabledClients>
  
  & lt;/SERVER> & lt; ?xml version=" 1.0 " encoding=" utf - 8 " ?祝辞& lt;服务器版本=?”祝辞& lt; TempTimeOut> 12 & lt;/TempTimeOut> & lt; Interval> 1800 & lt;/Interval> & lt; ProxyTimeOut> 12 & lt;/ProxyTimeOut> & lt; Hosts> & lt;主机ip=?92.168.107.1 maxTaskNum”=?”preferredTaskNum=?”祝辞& lt; Partitions> & lt;分区名称==" 0 "路径" d:/文件/并行/node1/0”祝辞& lt;/Partition> & lt;分区名称==" 1 "路径" d:/文件/并行/node1/1”祝辞& lt;/Partition> & lt;/Partitions> & lt; Units> & lt;单位端口=" 8281 "祝辞& lt;/Unit> & lt;单位端口=" 8282 "祝辞& lt;/Unit> & lt;/Units> & lt;/Host> & lt;/Hosts> & lt; EnabledClients检查=" true "祝辞& lt;主机开始=结束“192.168.107.1”=?92.168.107.1”祝辞& lt;/Host> & lt;/EnabledClients> & lt;/SERVER> 

Java如何远程调用SPL脚本