Skip to main content
Version: Next(1.3.1)

源码目录结构

Linkis代码层级目录结构说明,如果想详细了解各个模块,请查看Linkis的相关架构设计

│-- linkis-dist //编译打包最后阶段步骤 整合所有lib包和安装部署脚本配置等│        │-- assembly-combined│        │-- bin  安装相关的脚本│        │-- deploy-config //安装的配置│        │-- src│-- linkis-commons  //核心抽象,里面放有所有的公用模块│        │-- linkis-common  //通用模块,内置很多通用工具类│        │-- linkis-hadoop-common│        │-- linkis-httpclient  //Java SDK顶层接口 对httpclient的进一步封装│        │-- linkis-module  // linkis的服务顶层公用模块 涉及到服务启动时的参数和服务初始化 统一的Restful处理 登录态校验等│        │-- linkis-mybatis  //SpringCloud的Mybatis模块│        │-- linkis-protocol  //服务请求/响应的一些接口和实体类│        │-- linkis-rpc      //RPC模块,基于Feign实现的复杂双向通信│        │-- linkis-scheduler //通用调度模块│        │-- linkis-storage   //文件操作工具集│        ││-- linkis-computation-governance //计算治理服务│        │-- linkis-client  //Java SDK,用户通过Client可直接访问Linkis│        │-- linkis-computation-governance-common│        │-- linkis-engineconn│        │-- linkis-engineconn-manager│        │-- linkis-entrance //通用底层entrance模块│        │-- linkis-entrance-client│        │-- linkis-jdbc-driver  //可以类似jdbc sdk方式连接使用linkis│        │-- linkis-manager│-- linkis-engineconn-plugins // 引擎插件│        │-- engineconn-plugins│        │-- linkis-engineconn-plugin-framework│-- linkis-extensions // 扩展功能增强插件模块│        │-- linkis-io-file-client  // 对linkis-storage的功能扩展│-- linkis-orchestrator  //服务的编排│        │-- linkis-code-orchestrator│        │-- linkis-computation-orchestrator│        │-- linkis-orchestrator-core│        │-- plugin│-- linkis-public-enhancements //公共增强服务│        │-- linkis-bml  // 物料库│        │-- linkis-context-service //统一上下文│        │-- linkis-datasource   //数据源服务│        │   ├── linkis-datasource-client //客户端代码│        │   ├── linkis-datasource-manager //数据源管理模块│        │   │   ├── common  //数据源管理公共模块│        │   │   └── server  //数据源管理服务模块│        │   ├── linkis-metadata //旧版本已有的模块,保留│        │   ├── linkis-metadata-manager //数据元管理模块│        │       ├── common //数据元管理公共模块│        │       ├── server //数据元管理服务模块│        │       └── service //支持的数据源│        │           ├── elasticsearch│        │           ├── hive│        │           ├── kafka│        │           └── mysql│        │-- linkis-publicservice  //公共服务│-- linkis-spring-cloud-services //微服务治理│        │-- linkis-service-discovery│        │-- linkis-service-gateway //网关Gateway│-- db  //数据库信息│-- tool //工具脚本│        │-- check.sh│        │-- dependencies│-- web  //linkis的管理台代码│-- scalastyle-config.xml  //Scala 代码格式检查配置文件│-- CONTRIBUTING.md│-- CONTRIBUTING_CN.md│-- DISCLAIMER-WIP│-- LICENSE //项目源码的LICENSE│-- LICENSE-binary //二进制包的LICENSE│-- LICENSE-binary-ui //前端web编译包的LICENSE│-- NOTICE  //项目源码的NOTICE│-- NOTICE-binary //二进制包的NOTICE│-- NOTICE-binary-ui //前端web二进制包的NOTICE│-- licenses-binary  二进制包的详细依赖的license文件│-- licenses-binary-ui //前端web编译包详细依赖的license文件│-- README.md│-- README_CN.md

安装包目录结构

Linkis安装包解压后的目录结构

下载官方发布的编译完整包,解压后的目录结构如下:


├── bin│   ├── checkEnv.sh ── 环境变量检测│   ├── common.sh ── 部分公共shell函数│   └── install.sh ── Linkis安装的主脚本├── deploy-config│   ├── db.sh       //数据库连接配置│   └── linkis-env.sh //相关环境配置信息├── DISCLAIMER├── LICENSE├── licenses  ├── linkis-package  //微服务相关的启动配置文件,依赖,脚本,linkis-cli等│   ├── bin│   ├── conf│   ├── db│   ├── lib│   └── sbin├── NOTICE├── README_CN.md└── README.md

部署后的目录结构

1 目录结构#

安装后${LINKIS_HOME}目录结构

├── bin              ──  linkis-cli  用于向Linkis提交任务的Shell命令行程序│   ├── linkis-cli│   ├── linkis-cli-hive│   ├── linkis-cli-pre│   ├── linkis-cli-spark-sql│   ├── linkis-cli-spark-submit│   └── linkis-cli-sqoop├── conf 配置目录│   ├── application-eureka.yml│   ├── application-linkis.yml    ── 微服务通用yml│   ├── linkis-cg-engineconnmanager.properties│   ├── linkis-cg-engineplugin.properties│   ├── linkis-cg-entrance.properties│   ├── linkis-cg-linkismanager.properties│   │── linkis-cli│   │   ├── linkis-cli.properties│   │   └── log4j2.xml│   ├── linkis-env.sh    ── linkis 环境变量配置│   ├── linkis-mg-gateway.properties│   ├── linkis.properties  ── linkis 服务的全局配合,所有微服务启动都会加载使用│   ├── linkis-ps-cs.properties│   ├── linkis-ps-data-source-manager.properties│   ├── linkis-ps-metadatamanager.properties│   ├── linkis-ps-publicservice.properties│   ├── log4j2.xml│   ├── proxy.properties(可选)  proxy 代理用户模式的配置(>=1.1.1)│   └── token.properties(可选)  token 模式认证的配置认证的token 1.1.1开始,用数据库存储├── db 数据库DML和DDL文件目录│   ├── linkis_ddl.sql ── 数据库表定义SQL│   ├── linkis_dml.sql ── 数据库表初始化SQL│   └── module    ── 包含各个微服务的DML和DDL文件│   └── upgrade   ── 针对每个版本 增量DML/DDL├── lib lib目录│   ├── linkis-commons ── 公共依赖包 大多服务启动时(linkis-mg-gateway除外) -cp 路径参数 都会加载这个目录│   ├── linkis-computation-governance ──计算治理模块的lib目录│   ├── linkis-engineconn-plugins ──所有引擎插件的lib目录│   ├── linkis-public-enhancements ──公共增强服务的lib目录│   └── linkis-spring-cloud-services ──SpringCloud的lib目录├── logs 日志目录│   ├── linkis-cg-engineconnmanager-gc.log│   ├── linkis-cg-engineconnmanager.log│   ├── linkis-cg-engineconnmanager.out│   ├── linkis-cg-engineplugin-gc.log│   ├── linkis-cg-engineplugin.log│   ├── linkis-cg-engineplugin.out│   ├── linkis-cg-entrance-gc.log│   ├── linkis-cg-entrance.log│   ├── linkis-cg-entrance.out│   ├── linkis-cg-linkismanager-gc.log│   ├── linkis-cg-linkismanager.log│   ├── linkis-cg-linkismanager.out│   ├── linkis-cli│   │   ├── linkis-client.hadoop.log.20220409162400037523664│   │   ├── linkis-client.hadoop.log.20220409162524417944443│   ├── linkis-mg-eureka-gc.log│   ├── linkis-mg-eureka.log│   ├── linkis-mg-eureka.out│   ├── linkis-mg-gateway-gc.log│   ├── linkis-mg-gateway.log│   ├── linkis-mg-gateway.out│   ├── linkis-ps-cs-gc.log│   ├── linkis-ps-cs.log│   ├── linkis-ps-cs.out│   ├── linkis-ps-data-source-manager-gc.log│   ├── linkis-ps-data-source-manager.log│   ├── linkis-ps-data-source-manager.out│   ├── linkis-ps-metadatamanager-gc.log│   ├── linkis-ps-metadatamanager.log│   ├── linkis-ps-metadatamanager.out│   ├── linkis-ps-publicservice-gc.log│   ├── linkis-ps-publicservice.log│   └── linkis-ps-publicservice.out├── pid 所有微服务的进程ID│   ├── linkis_cg-engineconnmanager.pid ──引擎管理器微服务│   ├── linkis_cg-engineconnplugin.pid ──引擎插件微服务│   ├── linkis_cg-entrance.pid ──引擎入口微服务│   ├── linkis_cg-linkismanager.pid ──linkis管理器微服务│   ├── linkis_mg-eureka.pid ──eureka微服务│   ├── linkis_mg-gateway.pid ──gateway微服务│   ├── linkis_ps-cs.pid ──上下文微服务│   ├── linkis_ps-data-source-manager.pid --数据源微服务│   ├── linkis_ps-metadatamanager.pid  --元数据管理微服务│   └── linkis_ps-publicservice.pid ──公共微服务└── sbin 微服务启停脚本目录     ├── ext ──各个微服务的启停脚本目录     ├── linkis-daemon.sh ── 快捷启停、重启单个微服务脚本     ├── linkis-start-all.sh ── 一键启动全部微服务脚本     └── linkis-stop-all.sh ── 一键停止全部微服务脚本

2 配置项修改#

在执行完Linkis安装后,所有配置项位于conf目录下, 如果需要进行配置项修改,修改配置${LINKIS_HOME}/conf/*properties文件后,重启对应的服务, 如:sh sbin/linkis-daemon.sh start ps-publicservice。 如果修改的是公共配置文件application-eureka.yml/application-linkis.yml/linkis.properties,需要重启所有服务sh sbin/linkis-start-all.sh

3 微服务启停#

所有微服务名称如下:

├── linkis-cg-engineconnmanager 引擎管理服务  ├── linkis-cg-engineplugin 引擎插件管理服务  ├── linkis-cg-entrance 计算治理入口服务  ├── linkis-cg-linkismanager 计算治理管理服务  ├── linkis-mg-eureka 微服务注册中心服务  ├── linkis-mg-gateway Linkis网关服务  ├── linkis-ps-cs 上下文服务 ├── linkis-ps-publicservice 公共服务 ├── linkis-ps-data-source-manager 数据源管理服务 ├── linkis-ps-metadatamanager  元数据查询服务

微服务简称

简称英文全称中文全称
cgComputation Governance计算治理
mgMicroservice Covernance微服务治理
psPublic Enhancement Service公共增强服务
# 一次性启动所有微服务:      sh linkis-start-all.sh # 一次性关停所有微服务      sh linkis-stop-all.sh # 启动单个微服务(服务名需要去掉linkis前缀如:mg-eureka)      sh linkis-daemon.sh start service-name      例如: sh linkis-daemon.sh start mg-eureka # 关闭单个微服务      sh linkis-daemon.sh stop service-name      例如: sh linkis-daemon.sh stop mg-eureka # 重启单个微服务      sh linkis-daemon.sh restart service-name      例如: sh linkis-daemon.sh restart mg-eureka# 查看单个微服务的状态      sh linkis-daemon.sh status service-name      例如: sh linkis-daemon.sh status mg-eureka