我正在使用Hortonworks 2.2 Sandbox并将以下类文件用于Hbase程序:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.client.*
为了编译这个标准程序,我使用javac如下:
javac -cp "$PATH:/usr/hdp/2.2.0.0-2041/hbase/lib/*:/usr/hdp/2.2.0.0-2041/hadoop/lib/*" HbaseLoader.java
然而,我收到一个错误:
"class file for org.apache.hadoop.conf.Configuration not found"
我为这个类文件尝试了不同的类路径,例如
/usr/hdp/2.2.0.0-2041/hadoop/lib/*
和
/usr/hdp/2.2.0.0-2041/hadoop-yarn/lib/*
和
/usr/hdp/2.2.0.0-2041/hadoop-hdfs/lib*
和
/usr/lib/hadoop/lib
但没有运气。
我在这里看到了类似的问题:https://2scompliment.wordpress.com/2013/12/11/running-hbase-java-applications-on-hortonworks-hadoop-sandbox-2-x-with-yarn/ 和 Hbase exception org/apache/commons/configuration/Configuration not found
但很多答案都给出了非HWKS Sandbox解决方案。
这是我得到的例外:
HbaseLoader.java:28: error: cannot find symbol
Scanner sc = new Scanner(inputFile);
^
symbol: class Scanner
location: class HbaseLoader
HbaseLoader.java:28: error: cannot find symbol
Scanner sc = new Scanner(inputFile);
^
symbol: class Scanner
location: class HbaseLoader
2 errors
我使用的是Hbase版本:0.98.4.2.2.0.0
答案 0 :(得分:2)
在使用hbase时我遇到了类似的问题。您可以尝试以下选项。
java -cp。:$(hbase classpath):$(hadoop classpath)HbaseLoader.java
希望得到这个帮助。