相关疑难解决方法(0)

CDH4 Hbase使用Pig ERROR 2998 java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/filter/Filter

我在伪分布式模式下使用CDH4,我在使用HBase和Pig时遇到了一些麻烦(但两者都很好).

我正在一步一步地遵循这个很好的教程:http: //blog.whitepages.com/2011/10/27/hbase-storage-and-pig/

所以我的Pig脚本看起来像这样

register /usr/lib/zookeeper/zookeeper-3.4.3-cdh4.1.2.jar
register /usr/lib/hbase/hbase-0.92.1-cdh4.1.2-security.jar
register /usr/lib/hbase/lib/guava-11.0.2.jar

raw_data = LOAD 'input.csv' USING PigStorage( ',' ) AS (
listing_id: chararray,
fname: chararray,
lname: chararray );

STORE raw_data INTO 'hbase://sample_names' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage ('info:fname info:lname');
Run Code Online (Sandbox Code Playgroud)

但是在输入以下命令时

pig -x local hbase_sample.pig
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息

ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2998: Unhandled internal error. org/apache/hadoop/hbase/filter/Filter
Run Code Online (Sandbox Code Playgroud)

我在网上找到的主要原因是类路径,所以这里是当前配置的列表,也许你在我的配置中发现了一些废话:

export HADOOP_HOME=/usr/lib/hadoop
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
export HADOOP_CONF_DIR=/etc/hadoop/conf
export HBASE_HOME=/usr/lib/hbase
export HBASE_CONF_DIR=/etc/hbase/conf
export PIG_HOME=/usr/lib/pig
export PIG_CONF_DIR=/etc/pig/conf

export PATH="$HADOOP_HOME/bin:$HBASE_HOME/bin:$HADOOP_MAPRED_HOME/bin:$PIG_HOME/bin:$PATH"
export HADOOP_CLASSPATH="$HBASE_HOME/bin"
export PIG_CLASSPATH="$HBASE_HOME/bin:$PIG_HOME/bin"
Run Code Online (Sandbox Code Playgroud)

如果您需要更多详细信息,请参阅完整的猪堆栈跟踪:

Pig Stack Trace
---------------
ERROR 2998: …
Run Code Online (Sandbox Code Playgroud)

hadoop hbase noclassdeffounderror apache-pig cloudera

5
推荐指数
1
解决办法
5686
查看次数