用户可以参考本章节介绍在产品里部署自己的DQL Server服务,或者部署自己独立的DQL Server。
接下来我们详细了解下关于DQL Server的部署以及相关配置说明。
部署DQL Server时,需要按照如下步骤:
(一) 启动文件
在windows的[安装根目录]\report\bin下,我们可以直接通过startesprocDQLSERVER.bat启动DQL Server。
如下图:
在linux系统下,还可以使用非图形控制台,操作步骤如下:进入到润乾报表的[安装根目录]\report\bin下,执行命令:./startesprocDQLSERVER.sh -d,即可启动DQL Server服务;执行命令:./startesprocDQLSERVER.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包可在[安装根目录]\report\web\webapps\demo\WEB-INF\lib目录下获取。
(三) 部署esproc-services目录
该目录为DQL Server的主文件目录,目录名esproc-services不可修改,目录下可包含多个逻辑数据库,每个逻辑数据库都是一个独立的目录,如上图中的TPCH目录。 server.xml用于添加应用所使用的DQL Server逻辑数据库。逻辑数据库目录介绍如下:
1) service.xml用于为DQL Server配置语义层文件。语义层文件部署在DQL Server的【esproc-servicesà服务目录àconf】下。conf目录下有元数据文件(*.glmd)、字典文件(*.gdct)和词典文件(*.glxc)。如何制作语义层文件,参考《DQL教程》语义层章节。
2) service.xml默认位于[安装根目录]\report\esproc-services\服务目录下。
注意:
同一进程内支持多个DQL Server服务的存在,server.xml和service.xml配置文件名不能改变。
(四) server.xml
将server.xml文件部署在[安装根目录]\report\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:是否记录运行日志,日志存放目录为[安装目录]/report/log/下dql.txt_********.log -->
<!-- raqsoftConfig:配置文件raqsoftConfig.xml路径。用于读取主路径等信息 -->
<!-- autoStart:是否自动启动服务 -->
<SERVER host="127.0.0.1" port="3370" 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="TPCH"/>
</SERVER>
(五) service.xml
将service.xml文件部署在[安装根目录]\report\esproc-services\服务目录的根目录下,其内容如下:
service.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- services下各种文件存放路径:
元数据[logicmetadata]文件存于[应用根目录]\ esproc-services\服务目录\conf 下
-->
<!-- logicmetadata: DQL Server的元数据文件-->
<SERVICE logicmetadata="TPCH.glmd" dictionary="TPCH.gdct" lexicon="TPCH.glxc" >
<!-- USERS: DQL Server的用户权限配置-->
<!--name:用户的名称,可以配置多个用户-->
<!--password:用户的密码-->
<USERS>
<USER name="root" password="root"/>
<USER name="ww" password="ww"/>
<USER name="ee" password="ee"/>
</USERS>
</SERVICE>