flink- java.lang.IllegalStateException: No Executor found. Please make sure to export the HADOOP_CLA

flink- java.lang.IllegalStateException: No Executor found. Please make sure to export the HADOOP_CLASSPATH environment variable or have hadoop in your classpath.

flink在以per job模式运行jar包时报如下错误

在这里插入图片描述

问题原因:为了使用 Hadoop 功能(例如 YARN、HDFS),必须为 Flink 提供所需的 Hadoop 类,因为这些类默认并未捆绑。

推荐的方法是通过HADOOP_CLASSPATH环境变量将 Hadoop 类路径添加到 Flink。

Flink 将使用环境变量HADOOP_CLASSPATH来扩充启动 Flink 组件(例如客户端、JobManager 或 TaskManager)时使用的类路径。大多数 Hadoop 发行版和云环境不会默认设置此变量,因此如果 Flink 应该选择 Hadoop 类路径,则必须在运行 Flink 组件的所有计算机上导出环境变量。

在 YARN 上运行时,这通常不是问题,因为 YARN 内部运行的组件将使用 Hadoop 类路径启动,但在向 YARN 提交作业时,Hadoop 依赖项可能必须位于类路径中。

在这里插入图片描述

https://nightlies.apache.org/flink/flink-docs-release-1.11/zh/ops/deployment/hadoop.html

官网的意思是让运行如下命令加载hadoop的类路径

export HADOOP_CLASSPATH=`hadoop classpath`

其实最好的办法就是直接在命令行加载hadoop的类路径

也可以在hadoop-env.sh文件中添加此配置,添加在最后一行就可以。一般来说这样也可以解决问题,但是不知道为什么我这样还是不能解决这个问题,不知道翻了多少文档最终在 /etc/profile中把export HADOOP_CLASSPATH=hadoop classpath加到配置文件中就解决了

在这里插入图片描述

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值