安装集算器后,产品里自带一全套基于组表(.ctx)的元数据文件和与之关联的DQL Server服务。用户可以参考本章节介绍在产品里部署自己的DQL Server服务,或者部署自己独立的DQL Server。
接下来我们详细了解下关于DQL Server的部署以及相关配置说明。
部署DQL Server时,需要按照如下步骤:
(一) 启动文件
在windows的[安装根目录]/esProc/bin下,我们可以直接通过startDQLSERVER.bat/dqlserver.exe启动DQL Server。
如下图:
在linux系统下,还可以使用非图形控制台,操作步骤如下:进入到集算器的[安装根目录]\esProc\bin下,执行命令:./startDQLSERVER.sh -d,即可启动DQL Server服务;执行命令:./startDQLSERVER.sh -x,即可关闭DQL Server服务。
(二) 加载需要用到的jar包
DQL Server需要的jar要放在启动DQL Server时能加载到的目录下。相关的 jar包为:
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文件
上述jar包可在[安装根目录]/esProc/lib目录下获取。
(三) 部署esproc-services目录
该目录为DQL Server的主文件目录,目录下可包含多个逻辑数据库,每个逻辑数据库都是一个独立的目录,如上图中的datalogic目录。 server.xml用于添加应用所使用的DQL Server逻辑数据库。逻辑数据库目录介绍如下:
1) service.xml用于为DQL Server配置元数据文件(*.glmd)。元数据文件应部署在DQL Server的esproc-services - 服务目录 - conf下。conf目录下还有字典文件(*.gdct)和词典文件(*.glxc)。元数据文件使用的示例数据文件位于[集算器安装目录]\esProc\documents\en路径下的pseudo.zip中,使用时需将解压后的pseudo文件夹放主目录下。
2) service.xml默认位于[安装目录]/ esProc/esproc-services/服务目录下。元数据文件是通过元数据编辑设计器生成。
注意:
同一进程内支持多个DQL Server服务的存在,server.xml和service.xml配置文件名不能改变。
(四) server.xml
将server.xml文件部署在[应用根目录]/esProc/esproc-services根目录下,其内容如下:
server.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!--该文件server.xml放在 [应用根目录]\ esproc-services下 -->
<!-- host:DQL Server的主机IP地址 -->
<!-- port: DQL Server的侦听端口号 -->
<!-- timeout: DQL Server的最长等待客户端时间,超时后重新等待。该参数影响关闭DQL Server的响应时间,时间越长,CPU性能浪费越少,关闭服务器等待时间越长,单位为毫秒-->
<!-- log:是否记录运行日志,日志存放目录为[安装目录]/esProc/log/下dql.txt_********.log-->
<!--raqsoftConfig:配置文件raqsoftConfig.xml路径。用于读取主路径等信息-->
<!--autoStart:是否自动启动DQL服务-->
<SERVER host="192.168.1.8" port="3366" timeout="30000" log="true" raqsoftConfig="config\raqsoftConfig.xml" autoStart="false">
<!-- SERVICE:要启动的DQL Server列表,可以配置多个,多个时则需要添加多条<service/>,每个<service/>的name属性所指定的服务都必须位于[应用根目录]\ esproc-services下,esproc-services目录下可以有多个DQL Server服务目录,但只有下面列出的服务才会被启动 -->
<!-- name: DQL Server的名称,且名称必须与文件夹名称一致 -->
<SERVICE name="datalogic"/>
</SERVER>
(五) service.xml
将service.xml文件部署在[应用根目录]/esProc/esproc-services/服务目录的根目录下,其内容如下:
service.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- services下各种文件存放路径:
元数据[logicmetadata]文件存于[应用根目录]\ esproc-services\服务目录\conf 下
-->
<!-- logicmetadata: DQL Server的元数据文件-->
<SERVICE logicmetadata="demo.glmd">
<!-- USERS: DQL Server的用户权限配置-->
<!--name:用户的名称,可以配置多个用户-->
<!--password:用户的密码-->
<USERS>
<USER name="sa" password="sa"/>
<USER name="ww" password="ww"/>
<USER name="ee" password="ee"/>
</USERS>
</SERVICE>
(六) 连接DQL Server
DQL Server启动成功后可通过JDBC的方式进行连接。
具体连接方式使用如下:
JDBC:
使用JDBC连接时需在程序中引用DQL Server JDBC的驱动包esproc-bin-***.jar、esproc-ext-***.jar、esproc-ent-***.jar。
驱动—com.esproc.dql.jdbc.DQLDriver
URL—jdbc: jdbc:esproc:dql://[host]:[port],[host]:[port],.../[serviceName]?[&user={userName}]&[password={password}]
//参数说明:
[host]:[port] -> DQL Server的IP和端口号,可指定多个,但多个时除ip和端口号外,其他内容须保持一致。连接时如果第一个连不上则会依次连接下一个,直到连接成功为止
[serviceName] -> 需要连接的DQL Server名称
[userName]/[password] -> DQL Server服务的用户名/密码