Hbase中出现的问题

原创
2017/01/04 23:53
阅读数 39

今天本来用hbase来存储网站的列表信息,结果在安装过程中出现了很多问题:

下面我就把这些问题说明一下:

   1. 在集群模式中hbase必须配合hadoop使用,并且他的表的创建是依赖与zookeeper的

    2. 集群搭建的时候注意的事项:

            a:每个节点的时间必须是同步的 ,不然会导单节点的启动故障;

            2.Hbase hbck 检查zookeeper连接错误:

                启动zkServer.sh

            zookeeper回话过期:

修改zoo.cfg  中maxSessionTimeout=12000 重启zookeeper

or分配更大的守护内存,修改hbase-env.sh

export HBASE_HEAPSEIZE=4000

这样就不会导致出现闪退的情况;

另外我在说明一下hbase中的一些重要的名词:

rowKey:行健;

         类似于数据库中的主键

访问方式:

1通过单个rowkey进行访问

         2 通过正则的方式进行访问

         3 全盘扫描方式

Columns Family:列簇

HBASE表中的每个列,都归属于某个列族。列族是表的schema的一部 分(而列不是),必须在使用表之前定义。列名都以列族作为前缀。例如 courses:history,courses:math都属于courses 这个列族。

Cell:唯一确定的单元:

由{row key, columnFamily, version} 唯一确定的单元。cell中 的数据是没有类型的,全部是字节码形式存贮。

关键字:无类型、字节码

由{row key, columnFamily, version} 唯一确定的单元。cell中 的数据是没有类型的,全部是字节码形式存贮。

关键字:无类型、字节码

Time Stamp:时间戳

HBASE 中通过rowkey和columns确定的为一个存贮单元称为cell。每个 cell都保存 着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由HBASE(在数据写入时自动 )赋值,此时时间戳是精确到毫秒 的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版 本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。

为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,HBASE提供 了两种数据版本回收方式。一是保存数据的最后n个版本,二是保存最近一段 时间内的版本(比如最近七天)。用户可以针对每个列族进行设置。

 

我觉的这张图可以说明hbase中的rowkey 列簇  cell  中的关系

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部