【问题标题】:How do you get WordCount.java to compile on Cloudera 4?如何让 WordCount.java 在 Cloudera 4 上编译?
【发布时间】:2012-08-08 07:23:45
【问题描述】:

我正在尝试在 Cloudera 4 的 linux (CentOS) 安装上编译一个简单的 WordCount.java map-reduce 示例。当我引用任何 hadoop 类时,我总是遇到编译器错误,但我无法弄清楚我需要将 /usr/lib/hadoop 下的数百个 jar 添加到我的类路径中才能编译。任何帮助将不胜感激!我最想要的是一个用于字数统计的 java 文件(以防万一我发现的文件由于某种原因不好)以及用于编译和运行它的相关命令。

我正在尝试仅使用 javac 而不是 Eclipse 来执行此操作。无论哪种方式,我的主要问题是 Cloudera 4 安装中的 Hadoop 库到底是什么,我需要包含这些库才能编译经典的 WordCount 示例。基本上,我需要将 Java MapReduce API 类(Mapper、Reducer 等)放在我的类路径中。

【问题讨论】:

    标签: java hadoop javac cloudera word-count


    【解决方案1】:

    或者你可以导出环境:

    export JAVA_HOME=/usr/java/default
    
    export PATH=${JAVA_HOME}/bin:${PATH}
    
    export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar
    

    并使用以下命令:

    $ bin/hadoop com.sun.tools.javac.Main WordCount.java
    
    $ jar cf wc.jar WordCount*.class
    

    【讨论】:

      【解决方案2】:

      如果您正在运行 Cloudera CDH4 虚拟机,那么以下内容应该可以帮助您运行:

      javac -classpath /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.0.jar:/usr/lib/hadoop/client/hadoop-mapreduce-client-core-2.0.0-cdh4.0.0.jar -d wordcount_classes WordCount.java
      

      【讨论】:

        【解决方案3】:

        我有一个构建我的 hadoop 类的脚本。试试:

        #!/bin/bash
        
        program=`echo $1 | awk -F "." '{print $1}'`
        
        if [ ! -d "${program}_classes" ]
            then    mkdir ${program}_classes/;
        fi
        
        javac -classpath /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar:/usr/lib/hadoop/client/h\
        adoop-mapreduce-client-core-2.0.0-cdh4.0.1.jar -d ${program}_classes/ $1
        
        jar -cvf ${program}.jar -C ${program}_classes/ .;
        

        你可能错过了关键罐子:

         /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar
        

        /usr/lib/hadoop/client/hadoop-mapreduce-client-core-2.0.0-cdh4.0.1.jar
        

        【讨论】:

          【解决方案4】:

          如果您使用的是 Eclipse,请添加 Hadoop 包。您可以从 java2s 或任何类似站点获得它。我不能说不知道你到目前为止所做的事情。

          【讨论】:

            猜你喜欢
            • 2019-08-14
            • 1970-01-01
            • 2021-10-22
            • 2011-12-23
            • 1970-01-01
            • 1970-01-01
            • 2012-06-18
            • 2013-04-25
            • 2014-11-05
            相关资源
            最近更新 更多