通过 SSH 将 MapReduce 与 HDInsight 上的 Apache Hadoop 配合使用

了解如何从安全外壳 (SSH) 将 MapReduce 作业提交到 HDInsight。

注意

如果已熟悉如何使用基于 Linux 的 Apache Hadoop 服务器,但刚接触 HDInsight,请参阅基于 Linux 的 HDInsight 提示

先决条件

HDInsight 中的 Apache Hadoop 群集。 请参阅使用 Azure 门户创建 Apache Hadoop 群集

使用 Hadoop 命令

  1. 使用 ssh 命令连接到群集。 编辑以下命令,将 CLUSTERNAME 替换为群集的名称,然后输入该命令:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.cn
    
  2. 连接到 HDInsight 群集后,使用以下命令启动 MapReduce 作业:

    yarn jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar wordcount /example/data/gutenberg/davinci.txt /example/data/WordCountOutput
    

    此命令启动 hadoop-mapreduce-examples.jar 文件中包含的 wordcount 类。 它使用 /example/data/gutenberg/davinci.txt 文档作为输入,并将输出存储在 /example/data/WordCountOutput 中。

    注意

    有关此 MapReduce 作业和示例数据的详细信息,请参阅在 Apache Hadoop on HDInsight 中使用 MapReduce

    作业在处理时提供详细信息,并在完成时返回类似于以下文本的信息:

    File Input Format Counters
    Bytes Read=1395666
    File Output Format Counters
    Bytes Written=337623
    
  3. 作业完成后,使用以下命令列出输出文件:

    hdfs dfs -ls /example/data/WordCountOutput
    

    此命令显示两个文件(_SUCCESSpart-r-00000)。 part-r-00000 文件包含此作业的输出。

    注意

    某些 MapReduce 作业可能会将结果拆分成多个 part-r-##### 文件。 如果是这样,请使用 ##### 后缀指示文件的顺序。

  4. 若要查看输出,请使用以下命令:

    hdfs dfs -cat /example/data/WordCountOutput/part-r-00000
    

    此命令会显示 wasbs://example/data/gutenberg/davinci.txt 文件中包含的单词以及每个单词出现的次数的列表。 以下文本是文件中所含数据的示例:

    wreathed        3
    wreathing       1
    wreaths         1
    wrecked         3
    wrenching       1
    wretched        6
    wriggling       1
    

后续步骤

如你所见,Hadoop 命令提供简单的方法让你在 HDInsight 群集上运行 MapReduce 作业,并查看作业输出。 有关 HDInsight 上的 Hadoop 的其他使用方法的信息: