gpt4 book ai didi

hadoop - 在 AMI 3.0.1 上运行弹性 mapreduce 流

转载 作者:可可西里 更新时间:2023-11-01 16:16:24 25 4
gpt4 key购买 nike

尝试使用较新的 AMI 3.0.1 运行流媒体作业:我收到如下错误:

Error: java.lang.RuntimeException: Error in configuring object
...
Caused by: java.io.IOException: Cannot run program "s3://elasticmapreduce/samples/wordcount/wordSplitter.py": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:219)
... 23 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
... 24 more

对于一个非常基本的示例作业:

elastic-mapreduce --create --ami-version 3.0.1 --instance-type m1.large \
--log-uri s3n://mybucket/logs --stream \
--mapper s3://elasticmapreduce/samples/wordcount/wordSplitter.py \
--input s3://mybucket/input/alice.txt \

--output s3://mybucket/output --reducer聚合

在 AMI 2.4.2 上运行相同的作业时工作正常:

elastic-mapreduce --create --instance-type m1.large \
--log-uri s3n://mybucket/logs --stream \
--mapper s3://elasticmapreduce/samples/wordcount/wordSplitter.py \
--input s3://mybucket/input/alice.txt \
--output s3://mybucket/output --reducer aggregate

我需要使用 AMI 3.0.1,因为其他自定义 JAR 步骤使用 Hadoop 2.2.0。

最佳答案

虽然不完全是这个特定问题的答案,但当我直接在 EMR Master 上启 Action 业时遇到同样的问题时,这个问题让我确定了答案。

我遇到的问题的解决方案(使用 AMI v3.x.x 提供的 Hadoop 2.x)需要使用 -files 选项:

hadoop jar contrib/streaming/hadoop-streaming.jar \
-files s3n://<my bucket>/mapper.py,s3n://<my bucket>/reducer.py \
-input s3n://<my bucket>/location/* \
-output s3n://<my bucket>/emr-output \
-mapper mapper.py \
-reducer reducer.py

在以前版本的Hadoop中(AMI v2.4.x提供的Hadoop 1.x)下面的语句可以正常工作:

hadoop jar contrib/streaming/hadoop-streaming.jar \
-input s3n://<my bucket>/location/* \
-output s3n://<my bucket>/emr-output \
-mapper s3n://<my bucket>/mapper.py \
-reducer s3n://<my bucket>/reducer.py

关于hadoop - 在 AMI 3.0.1 上运行弹性 mapreduce 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20072097/

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