1. 程式人生 > 其它 >Flink本地Idea除錯原始碼環境搭建

Flink本地Idea除錯原始碼環境搭建

1.1 下載原始碼並編譯

git clone https://github.com/apache/flink.git

cd flink

git checkout -b dev-1.14 remotes/origin/release-1.14

mvn clean install -DskipTests -Dfast

1.2 啟動JobManager

入口類為:

org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint

在Run Configurations配置介面配置以下內容:

-- vm options
-Dlog.file=/Users/jordan95225/IdeaProjects/source_code/flink/build-target/log/flink-jobmanager-1.local.log
-Dlog4j.configuration=file:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/conf/log4j.properties 
-Dlog4j.configurationFile=file:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/conf/log4j.properties 
-Dlogback.configurationFile=file:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/conf/logback.xml

-classpath :/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-dist_2.11-1.14-SNAPSHOT.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-table_2.11-1.14-SNAPSHOT.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-csv-1.14-SNAPSHOT.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-json-1.14-SNAPSHOT.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-shaded-zookeeper-3.4.14.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/log4j-1.2-api-2.17.1.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/log4j-api-2.17.1.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/log4j-core-2.17.1.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/log4j-slf4j-impl-2.17.1.jar

-- program arguments
-c /Users/jordan95225/IdeaProjects/source_code/flink/build-target/conf

如下圖所示:

啟動之後可以在http://localhost:8081/檢視是否啟動成功

1.3 啟動TaskManager

入口類為:

org.apache.flink.runtime.taskexecutor.TaskManagerRunner

配置同JobManager:

-- vm options
-Dlog.file=/Users/jordan95225/IdeaProjects/source_code/flink/build-target/log/flink-taskexecutor-1.local.log 
-Dlog4j.configuration=file:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/conf/log4j.properties 
-Dlog4j.configurationFile=file:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/conf/log4j.properties 
-Dlogback.configurationFile=file:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/conf/logback.xml

-classpath :/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-dist_2.11-1.14-SNAPSHOT.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-table_2.11-1.14-SNAPSHOT.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-csv-1.14-SNAPSHOT.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-json-1.14-SNAPSHOT.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/flink-shaded-zookeeper-3.4.14.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/log4j-1.2-api-2.17.1.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/log4j-api-2.17.1.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/log4j-core-2.17.1.jar:/Users/jordan95225/IdeaProjects/source_code/flink/build-target/lib/log4j-slf4j-impl-2.17.1.jar

-- program arguments
-c /Users/jordan95225/IdeaProjects/source_code/flink/build-target/conf
-D taskmanager.memory.framework.off-heap.size=134217728b 
-D taskmanager.memory.network.max=134217730b 
-D taskmanager.memory.network.min=134217730b 
-D taskmanager.memory.framework.heap.size=134217728b 
-D taskmanager.memory.managed.size=536870920b 
-D taskmanager.cpu.cores=4
-D taskmanager.memory.task.heap.size=402653174b 
-D taskmanager.memory.task.off-heap.size=0b 
-D taskmanager.memory.jvm-metaspace.size=268435456b 
-D taskmanager.memory.jvm-overhead.max=201326592b 
-D taskmanager.memory.jvm-overhead.min=201326592b

如下圖所示: