Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark AWS EMR多作业依赖项争用 问题_Apache Spark_Hadoop_Pyspark_Amazon Emr_Amazon Kinesis - Fatal编程技术网

Apache spark AWS EMR多作业依赖项争用 问题

Apache spark AWS EMR多作业依赖项争用 问题,apache-spark,hadoop,pyspark,amazon-emr,amazon-kinesis,Apache Spark,Hadoop,Pyspark,Amazon Emr,Amazon Kinesis,我正在尝试在EMR中运行2个pyspark步骤,这两个步骤都是使用KinesisUtils从Kinesis读取的。这需要相关库spark-streaming-kinesis-asl_2.11 我正在使用Terraform建立EMR集群,并使用args调用以下两个步骤: --packagesorg.apache.spark:spark-streaming-kinesis-asl_2.11:2.4.5 在启动时似乎存在争用,这两个步骤都是从maven下载jar并导致校验和失败 尝试的事情 我尝试使用

我正在尝试在EMR中运行2个pyspark步骤,这两个步骤都是使用KinesisUtils从Kinesis读取的。这需要相关库spark-streaming-kinesis-asl_2.11

我正在使用Terraform建立EMR集群,并使用args调用以下两个步骤:

--packagesorg.apache.spark:spark-streaming-kinesis-asl_2.11:2.4.5

在启动时似乎存在争用,这两个步骤都是从maven下载jar并导致校验和失败

尝试的事情
  • 我尝试使用以下方法将jar的下载移动到bootstrap bash脚本:
  • sudosparkshell——包org.apache.spark:spark-streaming-kinesis-asl_2.11:2.4.5

    这会导致问题,因为spark shell仅在主节点上可用,引导程序会尝试在所有节点上运行

  • 我已尝试将上述内容限制为仅在使用
  • grep-q's“isMaster”:true'/mnt/var/lib/info/instance.json | |{echo“未在masternode上运行,无需执行任何操作”&&exit 0;}

    那似乎不起作用

  • 我尝试在EMR configuration.json中添加spark配置来实现这一点

    {

    “分类”:“火花默认值”

    “财产”:{

    }

    }

  • 这也不起作用,似乎阻止了所有jar被复制到主节点dir

    /home/hadoop/.ivy2/cache

    手动工作的是登录到主节点并运行

    sudosparkshell——包org.apache.spark:spark-streaming-kinesis-asl_2.11:2.4.5

    然后在不使用--packages选项的情况下手动提交作业

    目前,我所需要做的就是分别手动启动失败的作业(AWS控制台中的克隆步骤),然后一切正常运行

    我只想能够启动集群,所有步骤都能成功启动,任何帮助都将不胜感激

  • 下载所需的JAR并将其上载到s3。(一次)
  • 从步骤运行pyspark作业时,在spark submit中传递
    --jars

  • 谢谢,真的很感谢你的关注,这就是我最终要做的,现在它正在发挥作用,只是看起来有点变通。
    "spark.jars.packages": "org.apache.spark:spark-streaming-kinesis-asl_2.11:2.4.5"