- 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的配置,提高系统性能,或者在设计新的分布式存储解决方案时作为参考。 总之,YCSB-HBase14-Binding 0.17.0是评估和优化HBase性能的重要工具,它通过提供标准化的测试方法...
3. **Hadoop整合**:确保HBase知道Hadoop的配置,可以通过在`hbase-site.xml`中设置`hbase.rootdir`指向HDFS的路径,如`hdfs://localhost:9000/hbase`,并拷贝Hadoop的配置文件到HBase的conf目录。 4. **初始化...
HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...
HBase 元数据修复工具包。 ①修改 jar 包中的application.properties,重点是 zookeeper.address、zookeeper.nodeParent、hdfs....③开始修复 `java -jar -Drepair.tableName=表名 hbase-meta-repair-hbase-2.0.2.jar`
`hbase-1.2.0-cdh5.14.2.tar.gz` 是针对Cloudera Distribution Including Apache Hadoop (CDH) 5.14.2的一个特定版本的HBase打包文件。CDH是一个流行的Hadoop发行版,包含了多个大数据组件,如HDFS、MapReduce、YARN...
这个“hbase-0.96 jar包”是HBase 0.96版本的二进制发行版,它包含了运行和开发HBase应用所需的所有库文件。HBase 0.96是一个重要的里程碑,因为它在性能和稳定性上都有显著提升,特别是在处理大规模数据集时。 ...
这通常在 /etc/hbase/hbase-env.sh 中定义 然后在hbase shell中更改TSDB的't'列族的配置 disable 'tsdb' alter 'tsdb', {NAME => 't', CONFIGURATION => {'hbase.hstore.defaultengine.compactor.class' => ' ...
HBase,全称为Hadoop Distributed File System上的基础结构(HBase on Hadoop Distributed File System),是一种分布式的、面向列的开源数据库,它构建在Apache Hadoop文件系统(HDFS)之上,提供高可靠性、高性能...
`phoenix-hbase-2.2-5.1.2-bin.tar.gz`这个压缩包包含了Phoenix 2.2版本与HBase 5.1.2版本的二进制文件,用户可以解压后在本地或集群环境中安装和运行。安装步骤通常包括配置环境变量、创建HBase和Phoenix的目录结构...
3. 修改配置文件:主要修改`conf/hbase-site.xml`,设置HBase的主节点(`hbase.master`)、Zookeeper地址(`hbase.zookeeper.quorum`)等关键参数。 4. 启动HBase:运行`bin/start-hbase.sh`启动所有HBase服务,...
《Phoenix与HBase的深度解析:基于phoenix-hbase-2.4-5.1.2版本》 在大数据处理领域,Apache HBase和Phoenix是两个至关重要的组件。HBase作为一个分布式、列式存储的NoSQL数据库,为海量数据提供了高效、实时的访问...
hbase-client-2.1.0-cdh6.3.0.jar
赠送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...
软件方面,需要安装jdk-7u55-linux-x64.rpm、apache-maven-3.1.1-bin.tar、hadoop-2.2.0-src.tar.gz、protobuf-2.5.0.tar.gz、zookeeper-3.4.5.tar.gz和hbase-0.96.2-hadoop2-bin.tar.gz等软件。 Hadoop2.2安装和...
下载后,解压`hbase-1.2.6-bin.tar.gz`,即可获得HBase的可执行文件和配置文件。 **部署与运行**: 1. 配置HBase前,需要先确保你的环境中已经安装了Java和Hadoop。HBase 1.2.6需要Java 7或更高版本。 2. 修改`...
- **配置HBase核心文件**: 包括`hbase-site.xml`。 - **格式化HBase**: 使用`hbase format`命令格式化HBase。 - **启动HBase**: 运行`start-hbase.sh`启动HBase服务。 **2.3 HBase与Hadoop整合** - **配置HBase与...
进入 `conf` 目录,复制 `hbase-site.xml.example` 文件为 `hbase-site.xml`,并编辑该文件,添加如下配置: ```xml <name>hbase.rootdir <value>hdfs://namenode_host:port/hbase <name>hbase.cluster....
phoenix-client-hbase-2.2-5.1.2.jar
3. **配置文件**:修改conf/hbase-site.xml配置文件,设置HBase的主节点(master)地址、Zookeeper的地址以及HDFS的地址等。 4. **启动服务**:通过bin目录下的start-hbase.sh脚本启动HBase集群,包括Master节点和...
"phoenix-5.0.0-HBase-2.0-client.jar" 文件就是Squirrel SQL Client为了连接和操作Phoenix在HBase上的数据所必需的库文件。 Phoenix是一个高性能的关系型SQL层,构建在HBase之上,旨在解决HBase上的复杂查询和大...