我已经成功地运行了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