一、前言
Linkis和DSS的每個微服務都支持調試的,大部分服務都支持本地調試,部分服務只支持遠程調試。
- 支持本地調試的服務
- Eureka:設置的調試Main class是
com.webank.wedatasphere.linkis.eureka.SpringCloudEurekaApplication
- DSS-Server的主類爲:
com.webank.wedatasphere.dss.DSSSpringApplication
- GateWay/publicservice/metadata/entrance/resourcemanager的Main class都是:
com.webank.wedatasphere.linkis.DataWorkCloudApplication
2.只支持調試的服務: EngineManager服務以及由EM啓動的Engine服務都支持遠程調試。
二、本地調試服務步驟
Linkis和DSS的服務都依賴Eureka,所以需要首先啓動Eureka服務,Eureka服務也可以用您已經啓動的Eureka。Eureka啓動後就可以啓動其他服務了,啓動順序建議是:GateWay/dss-server/publicservice/metadata/entrance/resourcemanager。
2.1 Eureka服務啓動
- 如果不想默認的20303端口可以修改端口配置:
文件路徑:Linkis\eurekaServer\src\main\resources\application-eureka.yml
修改端口:
server:
port: 8080 ##啓動的端口
- 接着在Idea中新增調試配置 可以通過點擊Run或者點擊下圖的Add Configuration
- 然後點擊新增Application並修改信息 首先設置調試的名字:比如Eureka 接着設置Main class:
com.webank.wedatasphere.linkis.eureka.SpringCloudEurekaApplication
最後設置該服務的Class Path,對於Eureka的classPath模塊是linkis-eureka-server - 接着可以點擊Debug按鈕啓動Eureka服務了,並可以通過:http://localhost:8080/訪問Eureka頁面 2.2 其他服務
- 需要修改對應服務的Eureka配置,需要修改application.yml文件
GateWay:Linkis\gateway\gateway-ujes-support\src\main\resources\application.yml
publicservice:Linkis\publicService\conf\application.yml
metadata:Linkis\metadata\conf\application.yml
entrance:Linkis\ujes\definedEngines\spark\entrance\src\main\resources\application.yml
Entrance服務有多個需要修改對應目錄下面的配置比如spark/hive/python/jdbc等
resourcemanager:Linkis\resourceManager\resourcemanagerserver\src\main\resources\application.yml
DSS-Server:dss-server\src\main\resources\application.yml
修改對應的Eureka地址爲已經啓動的Eureka服務:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/
-
修改linkis和DSS相關的配置,配置文件在linkis.properties,修改對應的配置。
-
接着新增調試服務 Main Class都統一設置爲:
com.webank.wedatasphere.linkis.DataWorkCloudApplication
DSS-Server的爲:com.webank.wedatasphere.dss.DSSSpringApplication
服務的Class Path爲對應的模塊:
GateWay:linkis-gateway-ujes-support
publicservice:publicservice
metadata:linkis-metadata
entrance:linkis-對應服務名-entrance比如linkis-spark-entrance
resourceManager:linkis-resourcemanager-server
dss-server:dss-server
並勾選provide:
- 接着啓動服務,可以看到服務在Eureka頁面進行註冊:
5.需要注意的兩個服務:PublicService和MetaData 因爲這兩個服務的配置文件在conf目錄,需要設置conf目錄爲resource,如下圖 令外PublicService需要在pom裏面加入public-Module模塊。
<dependency>
<groupId>com.webank.wedatasphere.linkis</groupId>
<artifactId>public-module</artifactId>
<version>${linkis.version}</version>
</dependency>
三、遠程調試服務步驟
每個服務都支持遠程調試,但是需要提前打開遠程調試。下面用SparkEngineManager作爲調試介紹:
- 首先修改對應服務bin目錄下的start文件添加調試端口:
java $SERVER_JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10092 -cp
添加的內容爲: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10092
其中端口可能衝突,可以修改爲可用的端口。
- 着在idea裏面新建一個遠程調試,首先選擇remote,然後增加服務的host和端口,接着選擇調試的模塊 接着點擊debug蟲就可以完成遠程調試了