flink从0到第一个应用成功运行遇到的所有问题和解决方法

1.无法使用hdfs文件系统作为输入和输出(flink无法使用hdfs)

原因:我使用的是flink1.13.3版本比较新,从1.8.X版本之后就没有直接支持和hadoop的连接了。
如之前的flink安装包都是这样的:(带有hadoop)
在这里插入图片描述
需要我们下载相应的uber和cli:
如题主flink1.13.3,scala2.11下载的是:
flink-shaded-hadoop-3-uber-3.1.1.7.2.1.0-327-9.0.jar
commons-cli-1.4.jar
如果没有可以这样下载:

![在这里插入图片描述](https://img-blog.csdnimg.cn/e10b32202f684bd69624520c561be65d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,

在这里插入图片描述

在这里插入图片描述

选择好版本就可看到这个界面,点击files中的jar,下载jar包
下载完成后将这两个jar包导入到linux上flink的lib目录下中
在这里插入图片描述

2.使用yarn部署运行flink时会话模式(yarn-session)和使用分离模式时出现0.0.0.0.8032

这个问题可以看:这篇文章的第一个问题。主要就是一个细心问题。另外注意修改一个应用的配置文件后都需要重启这个应用,否则修改是无效的,这适用于所有应用(如yarn,hdfs,spark,flink,kafka,flume…)。

3.使用idea编写关于flink的wordcount 程序的java代码时,使用netcat出现错误(包括本地运行和集群运行)。

1).SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

解决:
依赖中加入:

 <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-nop</artifactId>
      <version>1.7.2</version>
    </dependency>

2).Exception in thread “main” org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
先考虑检查程序代码:如我在使用时导入包时因为使用了idea的自动修改,导致一个代码段(DataStream换成了SingleOutputStreamOperator)被修改了,然后就一直出现这个错误。
保证自己代码是正确无误之后,注意应该先开启ncat监控端口后run java程序
3).提交到集群上运行时出现“main-class”找不到的错误
这是导入包错误导致的(不要直接使用maven的package打包工具)
正确导入包的顺序:file->project structure->artifacts->±>jar->from module with dependencies->main class 选择右边图标的文件导入方式
在这里插入图片描述
选择自己要运行的主类

在这里插入图片描述
删除/src/main/java
4).集群运行程序,提示org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: org.apache.flink.client.program.ProgramInvocationException: Job failed (JobID:73c52482a7412048f9b459b0ed2e23f9)。
和拒绝连接错误: Caused by: java.net.ConnectException: 拒绝连接 (Connection refused)

原因:没有修改socket连接(至于为什么不能直接使用本地的,原因未知)
将socket的hostname修改为flink集群的master节点对应的主机名(如node01)
在这里插入图片描述
重新打包提交到集群上
先在master(假设为node01)开启监听(nc -lk 2020)
再运行这个jar文件(bin/flink run xxxx.jar)

5).打开web UI想查看stdout结果,但是没有结果
如果当前 flink webui没有结果不要着急,想一想自己是不是配置了两个master(HA模式),可以查看下另一个节点上的webui。

( ゜- ゜)つロ

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看不见的罗辑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值