IDEA中搭建flink开发环境,看这一篇就够了,亲测有效

在使用flink进行应用开发的时候,通常都是将开发的应用程序,提交到flink集群中,但是这样对应用程序开发调试很不方便,所谓磨刀不误砍柴工,下面我整理一个在mac上使用idea开发flink程序的配置教程,具体如下。

核心依赖配置

添加flink应用程序开发必要的依赖:

<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>

此时启动开发的应用程序,会报错,报错信息如下:
在这里插入图片描述

报错原因主要在于应用提交后,无法启动本地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下可以找到该依赖,并把该依赖添加到应用程序的classpath下,具体操作方式如下图:
在这里插入图片描述
在这里插入图片描述

改依赖添加之后,flink应用程序就可以启动起来。
在这里插入图片描述

启动日志配置

截止到目前,可以在idea上启动flink应用程序,但是还不够完美,为了更好的观察flink启动过程,最好能将flink的启动过程的日志打印出来,此时需要在应用程序中对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>

此时再次启动应用程序,进行观察验证:
在这里插入图片描述

web ui配置

开发过flink程序的老铁都知道,flink提供了一套web ui,可以很方便的查看应用程序的执行状态,应用的配置信息等。

那么在idea中启动的应用程序可以访问web ui吗?答案是肯定的,不过需要在应用程序中配置web ui的启动端口:

Configuration configuration = new Configuration();
        configuration.setString("rest.port","8082"); 
        StreamExecutionEnvironment env = 
          StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(configuration);
                

此时在此启动应用程序,然后访问如下地址:http://localhost:8082
在这里插入图片描述
哈哈,到这里终于成功了,接下来就可以开心的编写代码了。

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值