YPeiQi 2023-02-16 14:49 采纳率: 0%
浏览 72

flink on yarn 遇到 Argument list too long

在进行flink on yarn 任务的时候,hdfs上有大量的jar包需要下载,yarn会报如下错误,请问有什么办法可以解决吗?flink on yarn 采用 application 模式。

Exception message: Cannot run program "bash" (in directory "/hadoop/dhadoop/hadoop-2.9.2/data/tmp/nm-local-dir/usercache/root/appcache/application_1676528338653_0002/container_1676528338653_0002_01_000001"): error=7, Argument list too long

For more detailed output, check the application tracking page: http://hadoop102:8088/cluster/app/application_1676528338653_0002 Then click on links to logs of each attempt.
. Failing the application.

img

个人分析,是报错的原因是由于这个,但是暂时没有找到解决的办法,希望有人可以帮助,谢谢

  • 写回答

3条回答 默认 最新

  • Bony- 2023-02-16 14:57
    关注

    这个错误信息通常是由于运行的命令行参数过长导致的。在这种情况下,一种可能的解决方案是在命令行中使用通配符(wildcard)来代替具体的jar包列表,以减少命令行的长度。例如,使用通配符*来代替所有jar包:

    flink run -m yarn-cluster -ynm "MyJob" -c com.example.MyJob ./myjob.jar -j hdfs:///path/to/jars/*
    
    
    

    另一种解决方案是将hdfs上的jar包文件复制到本地文件系统上,然后使用本地文件系统路径代替HDFS路径,以避免yarn下载大量的jar包。例如:

    hdfs dfs -copyToLocal /path/to/jars/* /tmp/flink-jars
    flink run -m yarn-cluster -ynm "MyJob" -c com.example.MyJob ./myjob.jar -j /tmp/flink-jars/*
    
    
    

    请注意,这种方法可能会占用更多的磁盘空间,因为需要将jar包复制到本地文件系统上。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月16日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据