Hadoop之——HBase注意事项

本文介绍了HBase的NoSQL数据模型,包括表、行键、列族等核心概念,并详细说明了HBase如何通过时间戳支持数据版本控制。此外,还提供了HBase伪分布式环境的安装步骤。
转载请注明出处:http://blog.youkuaiyun.com/l1028386804/article/details/46447573

1.HBase(NoSQL)的数据模型

1.1 表(table)

      存储管理数据的。

1.2 行键(row key)

     类似于MySQL中的主键。

    行键是HBase表天然自带的。
1.3 列族(column family)

      列的集合。

    HBase中列族是须要在定义表时指定的,列是在插入记录时动态添加的。
    HBase表中的数据,每一个列族单独一个文件。
1.4 时间戳(timestamp)

     列(也称作标签、修饰符)的一个属性。

    行键和列确定的单元格,能够存储多个数据,每一个数据含有时间戳属性,数据具有版本号特性。    
    假设不指定时间戳或者版本号。默认取最新的数据。
1.5 存储的数据都是字节数组。
1.6 表中的数据是依照行键的顺序物理存储的。

2.HBase的物理模型

2.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。
2.2 HBase表中的记录。依照行键进行拆分。 拆分成一个个的region。

    很多个region存储在region server(单独的物理机器)中的。


    这样。对表的操作转化为对多台region server的并行查询。

3.HBase的体系结构

3.1 HBase是主从式结构,HMaster、HRegionServer

4.HBase伪分布安装

4.1 解压缩、重命名、环境变量设置
4.2 改动$HBASE_HOME/conf/hbase-env.sh

改动内容例如以下:

    export JAVA_HOME=/usr/local/jdk
    export HBASE_MANAGES_ZK=true
4.3 改动$HBASE_HOME/conf/hbase-site.xml

改动内容例如以下:

    <property>
      <name>hbase.rootdir</name>
      <value>hdfs://hadoop0:9000/hbase</value>
    </property>
    <property>
      <name>hbase.cluster.distributed</name>
      <value>true</value>
    </property>
    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>hadoop0</value>
    </property>
    <property>
      <name>dfs.replication</name>
      <value>1</value>
    </property>
4.4 (可选)文件regionservers的内容为hadoop0
4.5 启动hbase。运行命令start-hbase.sh
    ******启动hbase之前,确保hadoop是执行正常的,而且能够写入文件*******
4.6 验证:

          (1)运行jps,发现新添加了3个java进程,各自是HMaster、HRegionServer、HQuorumPeer

          (2)使用浏览器来访问http://hadoop0:60010

版权声明:本文博主原创文章,博客,未经同意不得转载。

HBase压缩包已下载,存放在/opt目录下。 在搭建环境之前我们首先来了解一下HBase分布式环境的整体架构: 我们来简单认识一下与HBase的相关组件: Zookeeper: Zookeeper能为HBase提供协同服务,是HBase的一个重要组件,Zookeeper能实时的监控HBase的健康状态,并作出相应处理。 HMaster: HMaster是HBase的主服务,他负责监控集群中所有的HRegionServer,并对表和Region进行管理操作,比如创建表,修改表,移除表等等。 HRegion: HRegion是对表进行划分的基本单元,一个表在刚刚创建时只有一个Region,但是随着记录的增加,表会变得越来越大,HRegionServer会实时跟踪Region的大小,当Region增大到某个值时,就会进行切割(split)操作,由一个Region切分成两个Region。 HRegionServer: HRegionServer是RegionServer的实例,它负责服务和管理多个HRegion 实例,并直接响应用户的读写请求。 总的来说,要部署一个分布式的HBase数据库,需要各个组件的协作,HBase通过Zookeeper进行分布式应用管理,Zookeeper相当于管理员,HBase将数据存储在HDFS(分布式文件系统)中,通过HDFS存储数据,所以我们搭建分布式的HBase数据库的整体思路也在这里,即将各个服务进行整合。 接下来,我们就一起来搭建一个伪分布式的HBase。 配置与启动伪分布式HBase 如果你已经完成了单节点HBase的安装,那伪分布式的配置对你来说应该很简单了,只需要修改hbase-site.xml文件即可: vim /app/hbase-2.1.1/conf/hbase-site.xml 在这里主要有两项配置: 1.开启HBase的分布式运行模式,配置hbase.cluster.distributed为true代表开启HBase的分布式运行模式: <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> 2.是设置HBase的数据文件存储位置为HDFS的/hbase目录,要注意的是在这里我们不需要在HDFS中手动创建hbase目录,因为HBase会帮我们自动创建。 <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> 修改之后hbase-site.xml的<configuration>代码: 标红部分为我们需要注意的配置。我们在设置单节点的时候将hbase.unsafe.stream.capability.enforce属性值设置为了false,在这里我们需要注意设置它的值为true,或者干脆删除这个属性也是可以的。 配置完成之后,我们需要先启动Hadoop,命令为:start-dfs.sh,然后启动HBase,最后输入jps查看启动的进程: 如果出现HMaster和HRegionServer以及HQuorumPeer三个服务则代表伪分布式环境已经搭建成功了。 在HDFS中验证 接下来我们进一步验证:在HDFS中检查HBase文件。 如果一切正常,HBase会在HDFS中自动建立自己的文件,在上述配置文件中,设置的文件位置为/hbase,我们输入hadoop fs -ls /hbase即可查看,如下图所示,分布式文件系统(HDFS)中hbase文件夹已经创建了: 编程要求 好了,到你啦,你需要先按照上次实训——HBase单节点安装的方式将HBase安装在/app目录下,然后根据本关知识配置好伪分布式的HBase,最后点击测评即可通关。 测试说明 程序会检测你的HBase服务和Hadoop服务是否启动,以及伪分布式HBase是否配置正确。 预期输出: Hadoop 已启动 hbase-env.sh解压路径正确 Hbase已启动 各配置项配置成功! Hbase的HDFS目录创建成功 伪分布式搭建成功!
03-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值