引擎的安装
Linkis的引擎物料包安装目录为,目录结构如下:
这里的物料包文件会在Linkis服务启动时候,会根据目录,解析出引擎和版本号,进行引擎物料的持久化存储(HDFS/本地文件系统中),并将持久化存储信息(引擎类型和版本资源索引) 记录到数据库表linkis_cg_engine_conn_plugin_bml_resources
中。
示例数据如下:
提交任务执行时,会通过请求的参数engineType
,从linkis_cg_engine_conn_plugin_bml_resources
中查询到对应的资源索引, 通过索引下载对应的引擎物料,并部署启动对应的引擎进程,再进行任务的处理。
如 linkis-cli 提交hive查询示例
注意
因为引擎执行时传递的参数engineType:hive-2.3.3
是通过-来进行拆分出引擎和版本的,所以版本号里面不能出现-
, 如果出现可以通过用其他符号代替,比如engineType:hive-cdh-2.3.3
,会拆分错,可以直接使用这个:2.3.3 或则cdh_2.3.3 来命名引擎目录
Linkis项目中包含的引擎模块linkis-engineconn-plugins/engineconn-plugins
都是按这个目录进行打包配置的, 如果是自己实现的新增引擎,需要按照上述的目录结构进行打包,可以参考hive的assembly配置方式来配置打包流程和配置, 源码目录:linkis-engineconn-plugins/hive/src/main/assembly/distribution.xml
2. 引擎的安装
方式1
方式2 手动编译获取
全量编译(首次编译时需要)
cd ${linkis_code_dir}
mvn -N install
mvn clean install
编译引擎
cd linkis-enginepconn-pugins/engineconn-plugins/pipeline/
编译出来的引擎包,位于
将 2.1 步编译出来的引擎包,上传到服务器的引擎目录下
${LINKIS_HOME}/lib/linkis-engineplugins
主要是配置默认版本,当请求未带版本时 会使用默认版本
修改$LINKIS_HOME/conf/linkis.properties
配置文件
wds.linkis.hive.engine.version=2.3.3
管理台的配置是按照引擎标签来进行管理的,如果新增的引擎,有配置参数需要配置的话,需要修改对应的表的元数据
linkis_ps_configuration_config_key: 插入引擎的配置参数的key和默认values
linkis_cg_manager_label:插入引擎label如:hive-2.3.3
linkis_ps_configuration_category: 插入引擎的目录关联关系
linkis_ps_configuration_config_value: 插入引擎需要展示的配置
linkis_ps_configuration_key_engine_relation:配置项和引擎的关联关系
2.6.1 方式1 接口刷新
引擎支持实时刷新,引擎放置到对应目录后,通过http接口向linkis-cg-engineconnplugin
服务发送刷新请求即可。
接口
http://${engineconn-plugin-server-IP}:${port}/api/rest_j/v1/rpc/receiveAndReply
{
"method": "/enginePlugin/engineConn/refreshAll"
2.6.2 方式2 重启刷新
通过重启linkis-cg-engineconnplugin
服务,也可以强制刷新引擎目录
### cd到sbin目录下,重启linkis-cg-engineconnplugin服务
cd ${LINKIS_HOME}/sbin
## 执行linkis-daemon脚本
sh linkis-daemon.sh restart cg-engineplugin
2.6.3 检查引擎是否刷新成功
如果在刷新过程中遇到问题,需要确认是否刷新成功,则可以查看数据库中的linkis_engine_conn_plugin_bml_resources
这张表的last_update_time是否为触发刷新的时间。
正常如下:
查看引擎的物料记录是否存在(如果有更新,查看更新时间是否正确)。