HBase入门篇4

转载 2011年01月22日 09:55:00

首先声明,这篇文章是转帖的,原文出处为:
http://www.javabloger.com/article/apache-hbase-hadoop.html
如果作者不同意转帖,请联系我,我会马上删除,谢谢!

 

前几篇文章讲述了 HBase的安装Hbase命令和API的使用HBase简单的优化技巧 ,《HBase入门篇4》这篇文章 是讲述把HBase的数据放在HDFS上的点滴过程。目前对与HBase我是一个绝对的新手,如果在文章中有任何我理解有错误的地方请各位指正,谢谢。

Ok,进行正题 ………

   在HBase中创建的一张表可以分布在多个Hregion,也就说一张表可以被拆分成多块,每一块称我们呼为一个Hregion。每个Hregion会保 存一个表里面某段连续的数据,用户创建的那个大表中的每个Hregion块是由Hregion服务器提供维护,访问Hregion块是要通过 Hregion服务器,而一个Hregion块对应一个Hregion服务器,一张完整的表可以保存在多个Hregion 上。

    客户端访问这些数据的时候通过Hmaster ,每个 Hregion 服务器都会和Hmaster 服务器保持一个长连接,Hmaster 是HBase分布式系统中的管理者,他的主要任务就是要告诉每个Hregion 服务器它要维护哪些Hregion。用户的这些都数据可以保存在Hadoop 分布式文件系统上。 如果主服务器Hmaster死机,那么整个系统都会无效。下面我会考虑如何解决Hmaster的SPFO的问题,这个问题有点类似Hadoop的SPFO 问题一样只有一个NameNode维护全局的DataNode,HDFS一旦死机全部挂了,也有人说采用Heartbeat来解决这个问题,但我总想找出 其他的解决方案,多点时间,总有办法的。

昨天在hadoop-0.21.0、hbase-0.20.6的环境中折腾了很久,一直报错,错误信息如下:
Exception in thread "main" java.io.IOException: Call to localhost/serv6:9000 failed on local exception: java.io.EOFException
10/11/10 15:34:34 ERROR master.HMaster: Can not start master
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at org.apache.hadoop.hbase.master.HMaster.doMain(HMaster.java:1233)
        at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:1274)

死活连接不上HDFS,也无法连接HMaster,郁闷啊。
我想想啊,慢慢想,我眼前一亮  java.io.EOFException 这个异常,是不是有可能是RPC 协定格式不一致导致的?也就是说服务器端和客户端的版本不一致的问题?换了一个HDFS的服务器端以后,一切都好了,果然是版本的问题,最后采用 hadoop-0.20.2 搭配hbase-0.20.6 比较稳当。
最后的效果如图所示:

http://farm5.static.flickr.com/4065/5165595387_d17a1bbbe4.jpg

查看大图请点击这里 , 上图的一些文字说明:
   1.hadoop版本是0.20.2 ,
   2.hbase版本是0.20.6,
   3.在hbase中创建了一张表 tab1,退出hbase shell环境,
   4.用hadoop命令查看,文件系统中的文件果然多了一个刚刚创建的tab1目录,
以上这张图片说明HBase在分布式文件系统Apache HDFS中运行了。

 

HBase入门篇4–存储

前几篇文章讲述了 HBase的安装、Hbase命令和API的使用、HBase简单的优化技巧,《HBase入门篇4》这篇文章是讲述把HBase的数据放在HDFS上的点滴过程。目前对与HBase我是一个绝...

HBase入门篇4–存储

前几篇文章讲述了 HBase的安装、Hbase命令和API的使用、HBase简单的优化技巧,《HBase入门篇4》这篇文章是讲述把HBase的数据放在HDFS上的点滴过程。目前对与HBase我是一个绝...
  • A221133
  • A221133
  • 2011年09月15日 11:04
  • 1025

HBase入门篇

1-HBase的安装 HBase是什么? HBase是Apache Hadoop中的一个子项目,Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就...

HBase 入门篇2

本篇文章讲述用HBase Shell命令 和 HBase Java API 对HBase 服务器 进行操作。在此之前需要对HBase的总体上有个大概的了解。比如说HBase服务器内部由哪些主要部件构成...

HBase入门篇1

首先声明,这篇文章是转帖的,原文出处为:http://www.javabloger.com/article/apache-hbase-shell-and-install-key-value.html如...

Hadoop和HBase安装设置入门篇

基础准备:创建三台或更多虚拟机。(由于要在每台机器上都操作一遍下面的步骤,不少步骤是可以统一进行的,故可在安装完jdk、hadoop后,再复制虚拟机) Hadoop 依赖JDK和ssh,首要做的就是...
  • ljskr
  • ljskr
  • 2017年03月15日 16:51
  • 148

Dreamwaver8官方教程之入门篇(4/5)

  • 2007年08月18日 10:45
  • 2MB
  • 下载

WebService CXF学习(入门篇4):整合Spring框架

通过前面两节的讲解,相信你对CXF框架开始有一些认识了。在当今项目开发中,Spring框架基上都用到过,那么它怎么与CXF结合呢,这就是我们这一间要讲的内容。好了,闲话少说。     首先,在前面基...
  • a9529lty
  • a9529lty
  • 2012年12月14日 11:13
  • 11348

FLEX4 语法及重点概要---入门篇(超详细)

chapter 1 : intruduction to flex4 1、flex包含一个基于组件的开发模型,你只需要按需求继承现有的组件并扩展相关的方法就可开发你的应用。   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HBase入门篇4
举报原因:
原因补充:

(最多只允许输入30个字)