【问题标题】:Alternative ways to start hadoop streaming job启动 hadoop 流式作业的替代方法
【发布时间】:2013-01-10 00:16:46
【问题描述】:

我可以从终端成功启动 hadoop 流式作业,但我正在寻找通过 api、eclipse 或其他方式开始处理作业的方法。

我找到的最接近的是这个帖子https://stackoverflow.com/questions/11564463/remotely-execute-hadoop-streaming-job,但它没有答案!

欢迎任何想法或建议。

【问题讨论】:

    标签: hadoop hadoop-streaming


    【解决方案1】:

    有趣的问题,我找到了一种方法,希望这对你也有帮助。

    第一种方法应该适用于 Hadoop 0.22:

    Configuration conf = new Configuration();
    conf.set("fs.defaultFS", "hdfs://xxxxx:9000");
    conf.set("mapred.job.tracker", "hdfs://xxxxx:9001");
    StreamJob sj = new StreamJob();
    try {
        ToolRunner.run(conf, sj, new String[] { 
                    "-D", "stream.tmpdir=c:\\",
                    "-mapper", "/path/to/mapper.py",
                    "-reducer", "/path/to/reducer.py", "-input",
                    "/path/to/input", "-output",
                    "/path/to/output" });
    } catch (Exception e) {
        e.printStackTrace();
    }
    

    我还找到了this Java wrapper,你应该可以运行它。

    【讨论】:

    • 我正在尝试按照您在此处所说的做,但我返回退出代码 5。知道如何解释吗?
    • 没关系。我的问题是添加正确的依赖项,然后将 map-red.xml 和 yarn-site.xml 包含到我的 YarnConfiguration 中。
    【解决方案2】:

    查看Apache Oozie - 通过 XML 定义工作后,您可以通过 Http POST 向 oozie 服务器启动工作

    【讨论】:

      【解决方案3】:

      Hadoop 流式作业运行时

      hadoop jar /home/training/Installations/hadoop-1.0.3/contrib/streaming/hadoop-streaming-1.0.3.jar -input input4 -output output4 -mapper /home/training/Code/Streaming/max_temperature_map。 rb -reducer /home/training/Code/Streaming/max_temperature_reduce.rb

      然后org.apache.hadoop.streaming.HadoopStreaming 被执行。此类在 hadoop-streaming-1.0.3.jar 的 MANIFEST.MF 中定义。查看org.apache.hadoop.streaming.HadoopStreaming java 类中的代码,了解 API 详细信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-01
        • 2014-10-06
        • 1970-01-01
        • 1970-01-01
        • 2017-06-01
        相关资源
        最近更新 更多