在使用flink進行應(yīng)用開發(fā)的時候,通常都是將開發(fā)的應(yīng)用程序,提交到flink集群中,但是這樣對應(yīng)用程序開發(fā)調(diào)試很不方便,所謂磨刀不誤砍柴工,下面我整理一個在mac上使用idea開發(fā)flink程序的配置教程,具體如下。
核心依賴配置
添加flink應(yīng)用程序開發(fā)必要的依賴:
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-java</artifactId>
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-streaming-java_2.12</artifactId>
<version>1.7.2</version>
<scope>provided</scope>
</dependency>
此時啟動開發(fā)的應(yīng)用程序,會報錯,報錯信息如下:
報錯原因主要在于應(yīng)用提交后,無法啟動本地flink框架。需要添加flink啟動必須的依賴,該依賴是:flink-dist_2.11-1.11.2.jar,依賴的版本取決于下載flink包的版本,下載鏈接參考:https://www.apache.org/dyn/closer.lua/flink/flink-1.11.6/flink-1.11.6-bin-scala_2.11.tgz。
然后在lib下可以找到該依賴,并把該依賴添加到應(yīng)用程序的classpath下,具體操作方式如下圖:
改依賴添加之后,flink應(yīng)用程序就可以啟動起來。
啟動日志配置
截止到目前,可以在idea上啟動flink應(yīng)用程序,但是還不夠完美,為了更好的觀察flink啟動過程,最好能將flink的啟動過程的日志打印出來,此時需要在應(yīng)用程序中對flink的日志進行配置,具體配置如下:
1.添加依賴
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
2.logback.xml
<configuration>
<property name="CONSOLE_LOG_PATTERN"
value="%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%blue(%thread)] %highlight(%-5level) %green(%logger{60}) %blue(%file:%line) %X{sourceThread} - %cyan(%msg%n)"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="console"/>
</root>
<logger name="akka" level="INFO">
<appender-ref ref="console"/>
</logger>
<logger name="org.apache.kafka" level="INFO">
<appender-ref ref="console"/>
</logger>
<logger name="org.apache.hadoop" level="INFO">
<appender-ref ref="console"/>
</logger>
<logger name="org.apache.zookeeper" level="INFO">
<appender-ref ref="console"/>
</logger>
<logger name="org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline" level="ERROR">
<appender-ref ref="console"/>
</logger>
</configuration>
此時再次啟動應(yīng)用程序,進行觀察驗證:
web ui配置
開發(fā)過flink程序的老鐵都知道,flink提供了一套web ui,可以很方便的查看應(yīng)用程序的執(zhí)行狀態(tài),應(yīng)用的配置信息等。
那么在idea中啟動的應(yīng)用程序可以訪問web ui嗎?答案是肯定的,不過需要在應(yīng)用程序中配置web ui的啟動端口:文章來源:http://www.zghlxwxcb.cn/news/detail-409576.html
Configuration configuration = new Configuration();
configuration.setString("rest.port","8082");
StreamExecutionEnvironment env =
StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(configuration);
此時在此啟動應(yīng)用程序,然后訪問如下地址:http://localhost:8082
哈哈,到這里終于成功了,接下來就可以開心的編寫代碼了。文章來源地址http://www.zghlxwxcb.cn/news/detail-409576.html
到了這里,關(guān)于IDEA中搭建flink開發(fā)環(huán)境,看這一篇就夠了,親測有效的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!