调试相关

linkis 1.0.3版本前,还未进入apache孵化,组织还是归属webank,主类的包名为`com.webank.wedatasphere.linkis`,调试时,注意区分。

对于incubator-linkis/assembly-combined-package/assembly-combined/conf/下的配置文件,需要对数据库以及hive meta等必要启动参数进行配置。

为了方便调试的时候将日志打印到控制台,需要修改下默认的log4j2.xml文件,修改appender默认为console。需要移除默认的RollingFile的append,增加console的appender,如下所示: log4j2.xml 路径 incubator-linkis/assembly-combined-package/assembly-combined/conf/log4j2.xml

  1. <configuration status="error" monitorInterval="30">
  2. <appenders>
  3. <RollingFile name="RollingFile" append="false" fileName="logs/${sys:serviceName}.log"
  4. filePattern="logs/$${date:yyyy-MM}/${sys:serviceName}/linkis-log-%d{yyyy-MM-dd}-%i.log">
  5. <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%-40t] %c{1.} (%L) [%M] - %msg%xEx%n"/>
  6. <SizeBasedTriggeringPolicy size="100MB"/>
  7. <DefaultRolloverStrategy max="10"/>
  8. </RollingFile>
  9. <Console name="Console" target="SYSTEM_OUT">
  10. <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
  11. <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%t] %logger{36} %L %M - %msg%xEx%n"/>
  12. </Console>
  13. </appenders>
  14. <loggers>
  15. <appender-ref ref="RollingFile"/>
  16. <appender-ref ref="Console"/>
  17. </root>
  18. </loggers>
  19. </configuration>

Linkis和DSS的服务都依赖Eureka,所以需要首先启动Eureka服务,Eureka服务也可以用您已经启动的Eureka。Eureka启动后就可以启动其他服务了。

因为linkis内部通过-DserviceName参数设置应用名以及使用的配置文件,所以-DserviceName是必须的启动VM参数

通过勾选Include dependencies with “Provided” scope ,这样可以在调试时,引入provided级别的依赖包。

Microservice Governance Services组件

  1. [main Class]
  2. org.apache.linkis.eureka.SpringCloudEurekaApplication
  3. [VM Opitons]
  4. -DserviceName=linkis-mg-eureka -Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
  5. [Program arguments]
  6. --spring.profiles.active=eureka --eureka.instance.preferIpAddress=true
  7. [User classpath of module]
  8. linkis-eureka

如果不想默认的20303端口可以修改端口配置:

具体配置如下 调试指引 - 图2

linkis-mg-gateway的启动配置

  1. [main Class]
  2. org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
  3. [VM Opitons]
  4. -DserviceName=linkis-mg-gateway -Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
  5. [User classpath of module]
  6. linkis-gateway-server-support

注意 若出现’org.apache.logging.log4j.LoggingException: log4j-slf4j-impl cannot be present with log4j-to-slf4j’ 问题 请exclude掉,对spring-boot-starter-logging的依赖

Public Enhancement Services组件

  1. org.apache.linkis.jobhistory.LinkisPublicServiceApp
  2. -DserviceName=linkis-ps-publicservice -Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
  3. [User classpath of module]
  4. linkis-jobhistory

linkis-ps-cs的启动配置

Computation Governance Services 组件

  1. [main Class]
  2. org.apache.linkis.manager.am.LinkisManagerApplication
  3. [VM Opitons]
  4. -DserviceName=linkis-cg-linkismanager -Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
  5. [User classpath of module]
  6. linkis-application-manager

linkis-cg-entrance启动

  1. [main Class]
  2. org.apache.linkis.entrance.LinkisEntranceApplication
  3. [VM Opitons]
  4. -DserviceName=linkis-cg-entrance -Xbootclasspath/a:D:\yourDir\incubator-linkis\assembly-combined-package\assembly-combined\conf
  5. [User classpath of module]

注:暂不支持Windows本地调试的服务

linkis-cg-engineplugin(ecp):需要读取本地的ecp物料,本地调试需要先准备好对应的物料,建议在远程进行调试

todo