- 1.环境描述
- 已搭建HADOOP 2.2集群,1NameNode,3DataNode,可用
- 已安装配置Pig0.12,可用
- 已安装配置HBase 0.96集群,1MASTER,3RegionServer
- 2.问题描述
按照网上或者相关例子,pig读取一个文件内容,使用HBaseStorage进行Store,第一个遇到的问题是WritableByteArrayComparable NO CLASS FOUND。这个问题是由于HBase版本升级后,这个类已经不存在了。即之前各个版本存在的hbase-{version}.jar已经不再出现在HBase0.96中。经过查询,网上给出各种方法,有一个方法在PIG_CLASSPATH中添加hbase-0.94.1.jar包。该方法的确可以解决WritableByteArrayComparable NO CLASS FOUND的问题。但是随之出现下面的问题。
脚本执行到Will not attempt to authenticate using SASL (unknown error) ,建立SESSION后卡住,经过10多分钟后,脚本执行错误。查看日志发现错误信息:after 10 tries, no region found for table.但是查看namenode:60010/master-status发现一切状态正常。同时在hbase shell下查询、新建表、插入数据都没有任何问题。到这里后发现找不到解决方案,已经无法进行下去。
回到最初出现的问题,明显是由于HBASE升级到0.96后,PIG没有针对进行版本的更新。因此到hotonwork网站上下载RHEL 6 and CentOS 6相应已经编译好的文件
Project |
Download |
Hadoop |
|
Pig |
|
Hive and HCatalog |
|
HBase and ZooKeeper |
|
Oozie |
|
Sqoop |
|
Flume |
|
Mahout |
将pig安装目录下的 pig-withouthadoop.jar替换掉。
重新开始跑脚本,发现可以生成MR相关JOB,只是跑JOB会报错:
2014-03-20 15:21:59,185 FATAL [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Error starting MRAppMaster
java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/mapreduce/TableInputFormat
查看HBASE安装目录下的相关JAR包,发现该类是存在的,那么肯定是相关变量设置问题,但是设置相关变量后,重启HADOOP\HBASE等,再次跑脚本仍然存在这个问题。因此使用比较笨的方法,每次跑脚本之前,或者在脚本里:
REGISTER /home/sun/hbase/lib/*.jar;
再次执行脚本,插入成功。
转载请标明出处,素质转载。
相关推荐
HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...
hbase-0.96jar包 hbase-0.96 hbase-0.98都可以用,
ycsb-hbase14-binding-0.17.0
hadoop2.6及hbase0.96伪分布式安装配置文件
HBase 元数据修复工具包。 ①修改 jar 包中的application.properties,重点是 zookeeper.address、zookeeper.nodeParent、hdfs....③开始修复 `java -jar -Drepair.tableName=表名 hbase-meta-repair-hbase-2.0.2.jar`
这通常在 /etc/hbase/hbase-env.sh 中定义 然后在hbase shell中更改TSDB的't'列族的配置 disable 'tsdb' alter 'tsdb', {NAME => 't', CONFIGURATION => {'hbase.hstore.defaultengine.compactor.class' => ' ...
hbase的hbase-1.2.0-cdh5.14.2.tar.gz资源包
赠送Maven依赖信息文件:hbase-prefix-tree-1.4.3.pom; 包含翻译后的API文档:hbase-prefix-tree-1.4.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.hbase:hbase-prefix-tree:1.4.3; 标签:apache...
Apache Phoenix是构建在HBase之上的关系型数据库层,作为内嵌的客户端JDBC驱动用以对HBase中的数据进行低延迟访问。Apache Phoenix会将用户编写的sql查询编译为一系列的scan操作,最终产生通用的JDBC结果集返回给...
被编译的hive-hbase-handler-1.2.1.jar,用于在Hive中创建关联HBase表的jar,解决创建Hive关联HBase时报FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop....
phoenix-hbase-2.2-5.1.2-bin.tar.gz
赠送Maven依赖信息文件:hbase-hadoop-compat-1.1.3.pom; 包含翻译后的API文档:hbase-hadoop-compat-1.1.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.hbase:hbase-hadoop-compat:1.1.3; 标签:...
赠送Maven依赖信息文件:hbase-prefix-tree-1.1.3.pom; 包含翻译后的API文档:hbase-prefix-tree-1.1.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.hbase:hbase-prefix-tree:1.1.3; 标签:apache...
phoenix-client-hbase-2.2-5.1.2.jar
赠送Maven依赖信息文件:hbase-metrics-api-1.4.3.pom; 包含翻译后的API文档:hbase-metrics-api-1.4.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.hbase:hbase-metrics-api:1.4.3; 标签:apache...
hbase-1.2.1-bin.tar.gz.zip 提示:先解压再使用,最外层是zip压缩文件
hbase-client-2.1.0-cdh6.3.0.jar
赠送Maven依赖信息文件:hbase-hadoop-compat-1.1.3.pom; 包含翻译后的API文档:hbase-hadoop-compat-1.1.3-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.hbase:hbase-hadoop-compat:1.1.3...
赠送Maven依赖信息文件:hbase-common-1.4.3.pom; 包含翻译后的API文档:hbase-common-1.4.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.hbase:hbase-common:1.4.3; 标签:apache、common、hbase...
hbase 的java代码 集合 hbase 0.96