flink针对hadoop 3.x的支持及集成方式

从Flink 1.11.0版本开始,官方支持Hadoop3.x。要使Flink与Hadoop3兼容,需设置HADOOP_CLASSPATH环境变量指向Hadoop3的相关jar包。对于YARN环境,Flink是针对Hadoop2.4.1编译的,但支持所有大于等于2.4.1的Hadoop版本,包括Hadoop3.x。推荐通过HADOOP_CLASSPATH添加Hadoop类路径,而不是依赖Flink-shade-hadoop-2-uber版本。确保在所有运行Flink组件的机器上设置此环境变量。

hadoop版本的支持

Flink自1.11.0 版本开始,已经支持了hadoop 3.x,具体来讲就是将 HADOOP_CLASSPATH 配置成运行机器上的hadoop3 相关jar包即可

YARN上的Flink是针对Hadoop 2.4.1编译的,支持所有的Hadoop版本>= 2.4.1,包括Hadoop 3.x。

与hadoop集成

参见:https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/deployment/hadoop.html

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

Flink 在启动Flink组件(如Client、JobManager或TaskManager)前,将环境变量HADOOP_CLASSPATH的值添加到classpath中。但大多数Hadoop发行版和云环境不会默认设置HADOOP_CLASSPATH这个环境变量,所以如果Hadoop类路径应该由Flink选择,那么必须在所有运行Flink组件的机器上设置这个环境变量。

如果运行在YARN上时,只需要执行下面一条脚本。因为在YARN内部运行的组件将通过Hadoop类路径启动,但当向YARN提交作业时,Hadoop依赖项必须在类路径中。

hadoop classpath是一句shell命令,用于获取配置的Hadoop类路径

export HADOOP_CLASSPATH=`hadoop classpath`

注意:从Flink 1.11开始,Flink项目不再正式支持使用Flink -shade -hadoop-2-uber版本。建议用户通过HADOOP_CLASSPATH提供Hadoop依赖项。

相关链接

supported-hadoop-versions

Add support for Hadoop 3

Test Hadoop dependency change

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值