Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编译和运行Hadoop权威指南的代码?_Java_Hadoop_Hdfs - Fatal编程技术网

Java 如何编译和运行Hadoop权威指南的代码?

Java 如何编译和运行Hadoop权威指南的代码?,java,hadoop,hdfs,Java,Hadoop,Hdfs,Hadoop:权威指南书中没有关于如何编译Hadoop代码的指南。我没有为此使用任何JavaIDE。我需要安装Java IDE吗?我制作了代码的JAR文件,并尝试使用Hadoop命令运行它,但它在Ubuntu上不起作用。这本书说要在书的网站上安装和编译示例,但我在O'Reilly的网站上找不到 如果有人能告诉我如何编译这样的简单代码,那将对我有很大帮助 import org.apache.hadoop.fs; import java.io.IOException; import java.net

Hadoop:权威指南书中没有关于如何编译Hadoop代码的指南。我没有为此使用任何JavaIDE。我需要安装Java IDE吗?我制作了代码的JAR文件,并尝试使用Hadoop命令运行它,但它在Ubuntu上不起作用。这本书说要在书的网站上安装和编译示例,但我在O'Reilly的网站上找不到

如果有人能告诉我如何编译这样的简单代码,那将对我有很大帮助

import org.apache.hadoop.fs;
import java.io.IOException;
import java.net.URL;
import org.apache.hadoop.io.IOUtils;

public class URLCat{

    static{
        URL.setURLStreamHandlerFactory(new FSUrlStreamHandlerFactory());
    }


    public static void main(String[] args) throws Exception{
        InputStream in =null;
        try{
            in=new URL(args[0]).openStream();
            IOUtils.copyBytes(in,System.out,4096,false);

        }finally{
            IOUtils.closeStream(in);    
        }


    }
}

您可以在以下链接中找到示例代码:

要编译Hadoop代码示例,您需要:

  • 需要安装Maven和Java

  • 然后导航到根文件夹,在终端中有所有章节文件夹,并键入:

    mvn包-DskipTests

  • 此命令编译所有代码


  • 以下是我为Hadoop the Definetive Guide 4 Ed()一书运行示例代码所遵循的步骤

  • 首先按照这个安装,这也是在主代码的Read.md中定义的,所以让您先做这个

  • 从GIT下载代码

  • 将其解压缩,然后将cd放入/home/hadoop book master文件夹/

  • 运行mvn package-DskipTests,这将创建一些.jar文件,从这些文件到hadoop-examples.jar一章中建议的文件

  • 这本书第49页

    %导出HADOOP_CLASSPATH=HADOOP-examples.jar

    %hadoop MaxTemperature输入/ncdc/sample.txt输出

    正如您在这里()所看到的,您设计hadoop jar的方式是:

    “hadoop jar文件名mainClassname AnyCommandLineArguements”

    其中“jarFileName”将是“hadoop examples.jar”,因为这将有要运行的示例编译代码和作为MaxTemperature的mainClassname,最后“AnyCommandLineArguements”是来自HDFS的输入路径,输出将在HDFS中创建

  • 我是这样运行它的:
  • hadoop jar$hadoop_类路径MaxTemperature/data/sample.txt/outputTest

    回想一下您想要处理的任何文件都必须在HDFS中才能使代码正常工作,这一点很重要

    hdfs dfs-mkdir/数据


    hadoop fs-copyFromLocal/home/hadoop book master/input/ncdc/sample.txt/data

    当然,IDE会使编译/调试过程更容易。然而,这不是一个教程网站。很抱歉网上有很多很多java教程。参见@OldProgrammer为什么给我Java程序编译链接?我知道如何做到这一点,我并没有要求这样做。“如何编译简单的代码。”“它不起作用”对读者并没有多大帮助。如果您有错误,请显示它们。请花点时间阅读。如果我是你,我会使用eclipse。我刚刚上了一堂hadoop的课,我在我的虚拟机上使用了eclipse,这非常好。@Faye,你得到这个问题的答案了吗。我面临着同样的问题,这本书没有使用IDE,但要求参考网站中提到的方法。但事实并非如此。