草庐IT

hadoop - 如何指定 S3 存储桶作为我对 EMR 的输入

不是复制到HDFS,是否可以只获取S3中存储桶中的对象数组以在EMR中处理?我已经尝试过了,但我不断收到没有凭据的安全警告(即使在我将它们添加到配置中之后)(这是因为只是执行newPath("s3n://..."))或运行jar告诉我,当我尝试使用AWSsdk访问我的存储桶时,我缺少AWSsdk。 最佳答案 你可以在参数部分添加它将其添加为步骤时选择CustomJARJAR包位置:s3://inbsightshadoop/jar/loganalysis.jar主类:无参数:s3://inbsightshadoop/insights-

php - 如何在 AWS EMR 流式集群中包含 PHP 所需的库

我创建了一个将JSON格式转换为AVRO格式的PHP项目。原始项目需要PHP库,我不确定如何添加到EMR。这是EMR收到的stderr日志:PHPWarning:require_once(vendor/autoload.php):failedtoopenstream:Nosuchfileordirectoryin/mnt/var/lib/hadoop/tmp/nm-local-dir/usercache/hadoop/filecache/12/convert-json-to-avro.phponline3PHPFatalerror:require_once():Failedopenin

hadoop - 在 Amazon EMR 上运行带有输入参数的自定义 jar 文件

所以,我正在尝试运行WordCountAmazonEMR上的hadoop应用程序。我有自己的数据文件,已上传到abcbucket。我还在abcbucket下添加了wordcount.jar文件。谁能告诉我当我们创建集群时,我们如何提供数据文件的路径以及我们是否还需要提供输出目录路径,如果是那么我如何提供输出目录路径? 最佳答案 数据文件作为参数传入Jar,数据文件位于S3存储桶中。输出也是一个s3存储桶,在这种情况下,您可以使用相同的存储桶,只需在存储桶中有一个目录/output并将所有输出发送到那里。https://blog.sa

mongodb - "ERROR 6000, Output location validation failed"在 EMR 上使用 PIG MongoDB-Hadoop 连接器

我在EMR上的pig脚本中收到“输出位置验证失败”异常。将数据保存回S3时失败。我使用这个简单的脚本来缩小问题范围:REGISTER/home/hadoop/lib/mongo-java-driver-2.13.0.jarREGISTER/home/hadoop/lib/mongo-hadoop-core-1.3.2.jarREGISTER/home/hadoop/lib/mongo-hadoop-pig-1.3.2.jarexample=LOAD's3://xxx/example-full.bson'USINGcom.mongodb.hadoop.pig.BSONLoader();S

hadoop - 如何在 EMR 中使用外部 jar?

我的EMR作业依赖于一些外部jar,它们在作业执行时应该存在于类路径中。所以我已将这些jar上传到S3存储桶中,然后引用Howtouse-libjarsonawsemr?我试过haddop中的copyToLocal操作。但是引导操作提示/usr/bin/hadoop不存在。使用/home/hadoop/bin/hadoop时甚至会失败。我想知道其他人是如何将jar下载到BA中的每个主机的。重击脚本sudo/usr/bin/hadoopfs-copyToLocal'se://my-bucket/emr-input/dependency-jars/*'/usr/lib/hadoopBA时出

java - EMR 版本 4.2.0 上的 Scalding 作业因 VerifyError 而失败

我们有一个Scalding作业,我想使用版本标签4.2.0在AWSElasticMapReduce上运行它。此作业在AMI2.4.2上成功运行。当我们将它升级到AMI3.7.0时,我们遇到了由不兼容的jar引起的java.lang.VerifyError。我们的项目使用1.5版的commons-codec库,但早期的不兼容版本随AMI一起提供。同样,我们的项目使用Scala2.10,但AMI附带2.11版。我们通过添加引导脚本来删除所有匹配commons-codec-1.[234].jar或scala-library-2.11.*.jar的文件来解决这个问题集群。现在我们又要升级到4.

hadoop - AmazonS3Exception 错误请求 : distcp from frankfurt s3 to emr hdfs failing

我正在尝试将文件从法兰克福(eu-central-1)的s3存储桶复制到我在爱尔兰(eu-west-1)通过EMR托管的hdfs。我尝试在以下位置执行的复制命令:hdfsdfs-cp"s3a:///"/user/hadoop/和s3-dist-cp--src"s3a:///"--desthdfs:///user/hadoop/--srcPattern和hadoopdistcp"s3a:///"/user/hadoop/在所有情况下(以及关于所有这些命令的额外选项和s3、s3a、s3n的各种排列)我确实得到类似以下异常的信息:16/01/1511:48:24ERRORtools.Dist

hadoop - 通过 Java 代码从本地计算机连接 AWS EMR 上的 HDFS

我想了解如何从我的本地机器连接到hdfs(在awsEMR上)我的示例程序publicclassEMRConnection{publicstaticvoidmain(String[]args)throwsIOException,URISyntaxException{Configurationconfig=newConfiguration();FileSystemhdfs=FileSystem.get(newURI("hdfs://***-**-**-***-***.compute-1.amazonaws.com:50070"),config);hdfs.mkdirs(newPath("/

hadoop - 如何在 EMR 集群的所有节点上执行 shell 脚本?

是否有合适的方法在正在运行的EMRhadoop集群中的每个节点上执行shell脚本?我寻找的一切都会带来引导操作,但这只适用于集群启动时,不适用于正在运行的集群。我的应用程序使用的是python,所以我目前的猜测是使用boto列出集群中每个节点的IP,然后遍历每个节点并通过ssh执行shell脚本。有没有更好的办法? 最佳答案 如果您的集群已经启动,您应该使用步骤。这些步骤是在集群启动后执行的,因此从技术上讲它似乎就是您要查找的内容。注意,步骤仅在主节点上执行,您应该以某种方式连接到其余节点以修改它们。Stepsarescripts

amazon-web-services - AWS EMR 集群失败,因为磁盘已满

我在具有约10个节点的awsemr集群上运行一些Map-Reduce-Jobs。(emr4.7.11,m3.xlarge)当作业正在运行时,工作节点在约4小时后开始一个接一个地死亡。在日志中我发现了以下错误:“1/3本地目录错误:/mnt/yarn;1/1日志目录错误:/var/log/hadoop-yarn/containers”当节点出现故障时,工作节点上的磁盘使用率为96%。所以我假设节点上的磁盘达到100%,并且没有文件可以写入磁盘。所以我尝试为每个实例附加一个500GB的EBS卷。但是Hadoop只使用了/mnt,并没有使用额外的Volume(/mnt2)。如何配置AWSEM