当我在Hadoop上运行自己的代码时出现ClassNotFoundException



我已经成功地运行了hadoop示例grep、wordcount。。。然而,我发现很难让自己的代码运行
这就是我所做的;

我从examples jar中复制了grep代码,并对其进行了自己的更改;我可以在我指定的文件夹中看到层次结构"org/apache/hadop/examples/filename.class"

然后我把它(文件夹)装进一个罐子里;现在是org/apache/。。。。。现在,当我运行命令"bin/hoop-jarfolder.jar filename input-output"时我不断得到这个错误:

Exception in thread "main" java.lang.ClassNotFoundException:.... 

有什么想法吗?还是指导?

检查是否使用grep:的完全限定类名运行命令

hadoop jar folder.jar org.apache.hadoop.examples.Grep ..other_args..

为了实现这一点,我必须向conf/hadoop-env.sh和我的类路径添加以下内容:

  • export JAVA_HOME=/usr/JAVA/最新
  • export HADOOP_HOME=/usr/lib/HADOOP
  • export HADOOP_MAPRED_HOME=/usr/lib/hadop-mapreduce
  • export HADOOP_COMMON_HOME=$HADOOP_HOME
  • export HADOOP_HDFS_HOME=/usr/lib/hoop-HDFS
  • export HADOOP_YARN_HOME=/usr/lib/hadop-YARN
  • export HADOOP_CONF_DIR=$HADOOP_HOME/etc/HADOOP
  • export YARN_CONF_DIR=$HADOOP_CONF_DIR
  • 导出HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_MAPRED_HOME:$HADOOP_HDFS_HOME:$SHADOOP_YARN_HOME:$CHADOOP_HOME:$HADOOP_CONF_DIR:$JSVC_HOME

相关内容

  • 没有找到相关文章

最新更新