【问题标题】:Setting the number of Reducers for an Amazon EMR application设置 Amazon EMR 应用程序的 Reducer 数量
【发布时间】:2013-09-06 01:20:10
【问题描述】:

我正在尝试在 Amazon EMR 下运行 wordcount 示例。

-1- 首先,我使用以下命令创建一个集群:

./elastic-mapreduce --create --name "MyTest" --alive

这将创建一个具有单个实例的集群并返回一个 jobID,比如说 j-12NWUOKABCDEF

-2- 其次,我使用以下命令启动作业:

./elastic-mapreduce --jobflow j-12NWUOKABCDEF --jar s3n://mybucket/jar-files/wordcount.jar --main-class abc.WordCount --arg s3n://mybucket/input-data/

--arg s3n://mybucket/output-data/

--arg -Dmapred.reduce.tasks=3

我的 WordCount 类属于包 abc。

这执行没有任何问题,但我只得到一个减速器。 这意味着参数“mapred.reduce.tasks=3”被忽略了。

有什么方法可以指定我希望我的应用程序使用的减速器数量吗?

谢谢你, 尼拉杰。

【问题讨论】:

    标签: hadoop amazon-emr reducers mappers


    【解决方案1】:

    尝试通过将 reducers 和 mapper 设置为 --bootstrap-action 选项来启动 EMR 集群

    --bootstrap-action s3://elasticmapreduce/bootstrap-actions/configure-daemons --args "-m,mapred.map.tasks=6,-m,mapred.reduce.tasks=3"
    

    【讨论】:

      【解决方案2】:

      "-D""mapred.reduce.tasks=3" 应该是单独的参数。

      【讨论】:

        【解决方案3】:

        您可以使用流媒体 Jar 的内置选项 -numReduceTasks。例如使用 Ruby EMR CLI 工具:

        elastic-mapreduce --create --enable-debugging \
          --ami-version "3.3.1" \
          --log-uri s3n://someBucket/logs \
          --name "someJob" \
          --num-instances 6 \
          --master-instance-type "m3.xlarge"  --slave-instance-type "c3.8xlarge" \
          --bootstrap-action s3://elasticmapreduce/bootstrap-actions/install-ganglia \
          --stream \
            --arg "-files" \
            --arg "s3://someBucket/some_job.py,s3://someBucket/some_file.txt" \
            --mapper "python27 some_job.py some_file.txt" \
            --reducer cat \
            --args "-numReduceTasks,8" \
            --input s3://someBucket/myInput \
            --output s3://someBucket/myOutput \
            --step-name "main processing"
        

        【讨论】:

        • 这是 Hadoop 内置的功能(请参阅wiki.apache.org/hadoop/HadoopStreaming),因此请仔细检查您的命令是否与我的命令匹配(例如,使用--args 而不是--arg 很重要)。
        猜你喜欢
        • 1970-01-01
        • 2017-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        • 1970-01-01
        • 2023-03-05
        • 2012-07-09
        相关资源
        最近更新 更多