DQL Server 部署

阅读(1422) 标签: dqlserver部署,

安装集算器后,产品里自带一全套基于组表(.ctx)的元数据文件和与之关联的DQL Server服务。用户可以参考本章节内容在产品里部署自己的DQL Server服务,或独立部署DQL Server

接下来我们详细了解下关于DQL Server的部署以及相关配置说明。

部署DQL Server操作如下步骤:

(一)  加载所需jar文件

将以下jar文件放入启动DQL Server时可加载到的目录下,获取路径为[集算器安装根目录]/esProc/lib

esproc-bin-***.jar  DQL Server计算引擎及JDBC驱动包

esproc-ext-***.jar  DQL Server计算引擎及JDBC驱动包

esproc-ent-***.jar  DQL Server计算引擎及JDBC驱动包

json-20240303.jar  解析json格式串

lz4-1.3.0.jar  压缩ctx文件

(二)   部署esproc-services目录

该目录为DQL Server的主文件目录,目录下可包含多个逻辑数据库,每个逻辑数据库都是一个独立的目录,如上图中的datalogic目录。 server.xml用于添加应用所使用的DQL Server逻辑数据库。逻辑数据库目录介绍如下:

1) service.xml位于[安装目录]/ esProc/esproc-services/服务目录下,用于配置逻辑数据库的元数据文件(*.glmd)

2) 元数据文件由元数据编辑设计器生成,存放于服务目录的conf目录下。conf目录下还有字典文件(*.gdct)。元数据文件使用的示例数据文件位于[集算器安装目录]\esProc\documents\en路径下的pseudo.zip中,使用时需将解压后的pseudo文件夹放主目录下。

注意:单进程支持多个DQL Server服务实例,server.xmlservice.xml配置文件名称不能更改。

(三)  server.xml

server.xml文件部署在[应用根目录]/esProc/esproc-services根目录下,其内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<SERVER host="127.0.0.1" port="3368" timeout="3000" log="true" raqsoftConfig="config\raqsoftConfig.xml" autoStart="false">

<SERVICE name="datalogic"/>

</SERVER>

  <SERVER/>标签属性如下:

  host:DQL Server的主机IP地址。

  port: DQL Server的侦听端口号,缺省为3368

  timeout: DQL Server的最长等待客户端时间,超时后重新等待,缺省为3000,单位为毫秒。该参数影响关闭DQL Server的响应时间,时间越长,CPU性能浪费越少,关闭服务器等待时间越长。

  log:是否记录运行日志,缺省为true,日志存放于[安装目录]/esProc/log/dql.txt_********.log

  raqsoftConfig:配置文件raqsoftConfig.xml路径。用于读取主路径等信息。

  autoStart:是否自动启动DQL服务,缺省为false

  <SERVICE/>:要启动的DQL Server列表,可以配置多个,多个时则需要添加多条<service/>,每个<service/>name属性所指定的服务都必须位于[应用根目录]\ esproc-services下,esproc-services目录下可以有多个DQL Server服务目录,但只有这里列出的服务才会被启动

  name: DQL Server的名称,且名称必须与服务目录的文件夹名称一致。

 

注:蓝色文字部分为必须配置的节点或属性。

(四)  service.xml

service.xml文件部署在[应用根目录]/esProc/esproc-services/服务目录的根目录下,其内容如下:

  <?xml version="1.0" encoding="UTF-8"?>

<SERVICE logicmetadata="demo.glmd" >

  <USERS>

<USER name="sa" password="sa"/>

<USER name="ww" password="ww"/>

<USER name="ee" password="ee"/>

</USERS>

</SERVICE>

<SERVICE/>标签属性如下:

logicmetadata :元数据[.glmd]文件,存于[应用根目录]\ esproc-services\服务目录\conf 下。

<USERS/> DQL Server的用户权限配置,可配置多个用户,多用户时则添加多个<USER/>节点。

<USER/> DQL Server的用户连接信息。

name:用户名称,可选。

password:用户密码,可选。

 

注:1蓝色文字部分为必须配置的节点或属性。

2)若xml文件中包含特殊字符,需先将特殊字符进行转义,再写入文件中,如将"&"写成"&amp;"

(五)  启动DQL Server

启动DQL Server时,运行命令必须包含以下参数:

javaw -Djava.ext.dirs=<JAR加载路径> -Dstart.home=<主路径> com.esproc.dql.server.ServerConsole

Ø  -Djava.ext.dirs:指定Java扩展JAR包的加载路径(替换<JAR加载路径>为实际目录)

Ø  -Dstart.home:指定DQL Server的主目录(替换<主路径>为实际路径)

Ø  启动类:com.esproc.dql.server.ServerConsole

注意:start.home指定的主目录下,必须存在services子目录。

示例命令如下:

javaw -Djava.ext.dirs="D:\raqsoft\esProc\lib" -Dstart.home="D:\raqsoft\esProc" com.esproc.dql.server.ServerConsole

执行命令后弹出DQL Server窗口,点击【Start】启动DQL服务:

为方便使用可将运行命令做成启动文件,比如windows[安装根目录]/esProc/bin下的startDQLSERVER.bat文件。

linux系统下,还可以使用非图形控制台,操作步骤如下:进入到集算器的[安装根目录]\esProc\bin下,执行命令:./startDQLSERVER.sh  -d,即可启动DQL Server服务;执行命令:./startDQLSERVER.sh  -x,即可关闭DQL Server服务。

(六)  连接DQL Server

DQL Server启动成功后可通过JDBC的方式进行连接。

具体连接方式使用如下:

JDBC

使用JDBC连接时需在程序中引用DQL Server JDBC的驱动包esproc-bin-***.jaresproc-ext-***.jaresproc-ent-***.jar

驱动com.esproc.dql.jdbc.DQLDriver

URL—jdbc:esproc:dql://[host]:[port],[host]:[port],.../[serviceName]?[&user={userName}]&[password={password}]

//参数说明:

[host]:[port] -> DQL ServerIP和端口号,可指定多个,但多个时除ip和端口号外,其他内容须保持一致。连接时如果第一个连接不通,会依次连接下一个,直到连接成功为止

[serviceName] -> 需要连接的DQL Server名称

[userName]/[password] -> DQL Server服务的用户名/密码