请教个问题,FLINK ON YARN默认会把LOG4J以及JAR文件,传到HDFS的/user/HADOOP_USER_NAME目录,这个可以修改吗?
可以修改的.
具体有两个参数可以修改:
yarn.application.classpath
通过这个参数可以指定Flink上传到YARN上的jar文件。默认值是$HADOOP_HOME/,$PWD/。
可以修改成只上传任务所需要的jar文件,避免上传所有任务不需要的依赖:
Copy
yarn.application.classpath myjar-1.0.jar;myjar-2.0.jar
yarn.staging-dir
这个参数指定Flink上传到HDFS上的文件夹。默认是/user/$USER。
可以修改成任意其他目录:
Copy
yarn.staging-dir /my/custom/directory
在Flink客户端,可以这样设置这两个参数:
java
Copy
final Configuration cfg = new Configuration();
// ...
cfg.setString("yarn.application.classpath", "myjar-1.0.jar;myjar-2.0.jar");
cfg.setString("yarn.staging-dir", "/my/custom/directory");
final ClusterClient clusterClient = new ClusterClient<>(new
YarnClusterDescriptor(cfg), classLoader);
所以通过修改这两个参数,就可以控制Flink上传到YARN和HDFS的文件了。
client端的conf文件增加yarn.provided.lib.dirs
此答案来自钉钉群“【2】Apache Flink China 社区"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。