需要一些幫助。雖然有很多不同的答案可用,我也嘗試過但不能使其工作。我在我的Mac OS中本地化了hadoop,當我嘗試編譯java程序時,出現以下錯誤。我知道問題在於設置正確的類路徑,但是在某些情況下,提供類路徑並不能使其工作。我已經在/usr/local/Cellar/hadoop/1.2.1/libexec下安裝了hadoopHadoop ClassPath單節點羣集Mac OS
我有我的java家設置爲導出JAVA_HOME =「$(/ usr/libexec/java_home)」 和類路徑設置爲export HADOOP_CLASSPATH = $ {HADOOP_HOME}/bin:$ {JAVA_HOME}/bin:$ {PATH}
但仍然出現以下錯誤。任何建立正確的班級路徑的建議,將不勝感激。
LineIndexer.java:6:包org.apache.hadoop.io不存在 import org.apache.hadoop.io.LongWritable; ^ LineIndexer.java:7:包org.apache.hadoop.io不存在 import org.apache.hadoop.io.Text; ^ LineIndexer.java:8:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.FileInputFormat; ^ LineIndexer.java:9:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.FileOutputFormat; ^ LineIndexer.java:10:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.FileSplit; ^ LineIndexer.java:11:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.JobClient; ^ LineIndexer.java:12:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.JobConf; ^ LineIndexer.java:13:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.MapReduceBase; ^ LineIndexer.java:14:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.Mapper; ^ LineIndexer.java:15:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.OutputCollector; ^ LineIndexer.java:16:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.Reducer; ^ LineIndexer.java:17:包org.apache.hadoop.mapred不存在 import org.apache.hadoop.mapred.Reporter; ^ LineIndexer.java:21:找不到符號 符號:類MapReduceBase 位置:類LineIndexer 公共靜態類LineIndexMapper擴展MapReduceBase ^ LineIndexer.java:22:找不到符號 符號:類映射 位置:類LineIndexer 實現映射{ ^ LineIndexer.java:22:找不到符號 符號:類LongWritable 位置:類LineIndexer 實現映射{ ^ LineIndexer。Java的:22:找不到符號 符號:類文本 位置:類LineIndexer 實現映射{ ^
你可以發佈你編譯代碼的方法(IDE,命令行 - 如果是的話請包括完整的命令行?) –
我正在使用命令行。這是編譯方法.. javac -classpath $ {HADOOP_HOME} /hadoop-core-1.2.1.jar -d lineindexer_classes LineIndexer.java – Barro
我的HADOOP_HOME設置爲/usr/local/cellar/hadoop/1.2.1/libexec – Barro