gpt4 book ai didi

amazon-web-services - AWS EMR 和 Spark 1.0.0

转载 作者:行者123 更新时间:2023-12-04 07:22:11 26 4
gpt4 key购买 nike

我最近在尝试在 AWS EMR 集群上使用 Spark 时遇到了一些问题。

我正在使用以下内容创建集群:

./elastic-mapreduce --create --alive \
--name "ll_Spark_Cluster" \
--bootstrap-action s3://elasticmapreduce/samples/spark/1.0.0/install-spark-shark.rb \
--bootstrap-name "Spark/Shark" \
--instance-type m1.xlarge \
--instance-count 2 \
--ami-version 3.0.4

问题是,每当我尝试从 S3 获取数据时,都会出现异常。
因此,如果我启动 spark-shell 并尝试以下操作:
val data = sc.textFile("s3n://your_s3_data")

我收到以下异常:
WARN storage.BlockManager: Putting block broadcast_1 failed
java.lang.NoSuchMethodError:
com.google.common.hash.HashFunction.hashInt(I)Lcom/google/common/hash/HashCode;

最佳答案

这个问题是由 Guava 库引起的,

AMI 上的版本是 11,而 spark 需要版本 14。

我从 AWS 编辑了引导脚本以安装 spark 1.0.2 并在引导操作期间更新 Guava 库,您可以在此处获取要点:

https://gist.github.com/tnbredillet/867111b8e1e600fa588e

即使在更新 Guava 之后,我仍然有问题。
当我试图在 S3 上保存数据时,我抛出了一个异常

lzo.GPLNativeCodeLoader - Could not load native gpl library
java.lang.UnsatisfiedLinkError: no gplcompression in java.library.path

我通过将 hadoop native 库添加到 java.library.path 解决了这个问题。
当我运行工作时,我添加了选项
 -Djava.library.path=/home/hadoop/lib/native 

或者如果我通过 spark-submit 运行工作,我会添加
--driver-library-path /home/hadoop/lib/native 

争论。

关于amazon-web-services - AWS EMR 和 Spark 1.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25420861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com