HBASE 1.0

HBASE 1.0,第1张

前身:BigTable

网页搜索:

google分布式存储系统BigTable依赖GFS

Hbase(bigtable的开源实现): 高可靠、高性能、面向列、可伸缩

存储结构化和半结构化的数据

优点:

水平可扩展性特别好:

依赖:

文件存储系统:HDFS

海量数据处理:MapReduce

协同管理服务:Zookeeper

满足了:大数据量的实时计算

数据类型:

    RDBMS:关系数据模型、多种数据类型

    Hbase:

数据 *** 作:

存储模式:

索引:

数据维护:

可伸缩性:

        纵向扩展:

        水平扩展:

Hbase的访问接口:

            JAVA API

            shell

            thrift Gateway

            restful Gateway

            SQL接口:pig编写类sql  hive用hivesql访问Hbase

Hbase的数据类型:

        列限定符

        每个值都是未解释的bytes

        一个行可以有一个行键和多列

        表由列族组成

Hbase数据模型:

    列族支持动态扩展、保留旧版本(HDFS只能追加数据)

基础元素:

    行键 : rowkey

    列族

    列限定符

    单元格 (时间戳概念、对应数据版本)

坐标概念:

    四维定位:行键、列族、列限定符、时间戳

稀疏表

HBASE:面向列的存储:高数据压缩率、分析便捷

RDBMS :面向行存储,事务性 *** 作(记录完整)、不便于分析(需要全表扫描)

43 HBASE 的实现原理

431 库函数 、master服务器、region服务器

Master服务器:

分区信息进行维护和管理

维护region服务器列表

确认当前工作的region服务器

负责对region进行分配和负载平衡

对表的增删改查

region服务器:

客户端不依赖于Master获取位置信息

用户数据的存储和管理

Region服务器--10-1000个region -----Store是一个列族----每个列族就是一个Hfile----所有region公用1个Hlog

写数据流程:Region服务器---写缓存Memstore---写日志(Hlog)

读数据流程:Region服务器-读缓存Memstore(最新数据)----StoreFile

缓存刷新:周期性将缓存内容刷写到Storefile 清空缓存---Hlog写入标记

每次刷写会生成新的StoreFile 每个Store包含多个StoreFile

每个Region服务器都有一个自己的Hlog,将启动检查确认缓存刷新是否有新的内容需要刷写,发现则刷写新的storefile,完成后删除Hlog,开始对外提供服务

Storefile的合并,storefile 的数量达到阈值后,会进行合并。当Storefile超过大小阈值则会触发Region的分裂

44 Hlog的工作原理

Zookeeper负责监听region服务器,由master处理故障,通过故障服务器的Hlog恢复,按region切分Hlog,将region和对应的Hlog分配到新的region服务器上

一个HBASE表会被划分成多个Region(1G-2G 取决于服务器性能)

同一个region不会被拆分到不同服务器上

Region的寻找:

Meta表:regionID 服务器ID 存储元数据

Root表:只有一个region

三级寻址:

zookeeper文件---root表-多个meta表--多个用户数据表

客户端会有Hbase三层寻址的缓存,调用访问Hbase的接口,缓存失效后,再次寻址

zookeeper决定master服务器,确保只有一个master

45 Hbase的应用方案

性能优化:

1)时间靠近存放----将时间戳引入行键,使用Longmax-时间戳进行排序

2)提升读写性能,创建表时设置HcloumnDescriptorsetMemory=true,会将表放入内存的缓存中

3)节省存储·空间----设置最大版本数、保存最新版的数据,将最大版本参数设置为1

4)timetolive参数,会将过期数据自动清空

检测Hbase性能:

Maste-status(web浏览器查询)

ganglia

OpenTSDB

Armbari

sql 查询HBASE

1)hive整合hbase

2)Phoenix

Hbase 二级索引 (辅助索引)

默认只支持对rowkey进行索引

Hbase行访问:

1)单行键访问

2)确定起点和终点访问区间数据

3)全表扫描

二级索引样例:

    Hindex    Hbase+redis  Solr+ Hbase

二级索引的机制:

        Hbase Coprocessor 

        endpoint  ---存储过程

        observer----触发器

        通过Observer监测数据插入动作,同步写入索引表,完成对表和列的索引

      Hbase 主表 索引表

46 HBASE的shell命令

三种部署模式:单机 伪分布式  分布式

HDFS

创建表

create table, F1, F2, F3

list table

每次只能为1行的1列添加数据

put  table R1,R1:C1 ,“1,2,3”

scan  table  R1,{column='R1:C1'}

get  table

删除表:

disable table +drop table

47 JAVA API +HBASE

ClentHConnectionManager$HConnectionImplementation:Check the value with configured in 'zookeeperznodeparent' There could be a mismatch with the one configured in the master

直观来看,自己去查看zookeeperznodeparent的配置是否正确。在Hbase/conf/core-sitexml中自己配置的zookeeperznodeparent使用的是默认选项/hbase,应该没有什么问题。于是自己又查看了Hadoop与Zookeeper相关的配置文件,结果这几个方面都没有问题。自己陷入了迷茫。

自己一筹莫展之际,想起了Hbase下的logs目录,查看了其输出的日志信息,发现了细节问题:

Could not start ZK at requested port of 2181 ZK was started at port:2182 Aborting as clients(eg shell) will not be able to find this ZK quorum

看样子是有个进程占用了默认的2181端口导致ZK不能正常启动。所以自己使用lsof -i:2181命令查看2181端口的进程情况:发现是Hadoop用户的java进程在使用。于是自己果断kill掉,接着在Hbase shell中敲入list命令,结果是一系列的java编译错误。自己考虑也许是Hbase需要重新启动,于是重新启动Hbase shell后程序正常!

重新启动系统之后也没有再次提示类似的问题。但是奇怪的是之前安装Hbase时遇到过这样的问题,自己当时曾经解决了,但是随着使用问题又出现了。自己猜测应该是Hbase中有保存有端口使用的配置,第一次正确使用后一段时间内不需要更正,但是后来因为其他程序的安装导致配置文件发生了更改。

1(多选)基于Hadoop开源大数据平台主要提供了针对数据分布式计算和存储能力,如下属于分布式存储组件的有

A MR B Spark C HDFS D HBase

2(单选)FusionInsight HD系统中HDFS 默认 Block Size是多少

A 32MB B 64MB C 128MB D 256MB

3 (单选) Hadoop系统中YARN资源的抽象是用什么表示

A 内存 B CPU C Container D 磁盘空间

4(单选)Spark是用以下哪种编程语言实现的

A C B C++ C JAVA D Scala

5(判断题) RDD可以从Hadoop兼容的文件系统生成,生成之后可以通过调用RDD的算子对RDD的数据进行部分更新。

A True B False

6(判断题)Spark on YARN模式下,没有NodeManager的节点不能启动executor执行task。

A True B False

7(单选)关于Kerberos的TGT以下说法错误的是

ATGT全称为票据授权服务票据,主要由KDC服务器生成 。

B TGT一次生成之后,可以无限期使用。

C TGT在客户端的存在方式可以是在内存中存储,也可以在本地以文件的形式存储。

D TGT中主要的信息有当前该票据的有效时长和授予该TGT的服务端IP以及分发给的客户端名称。

8 (单选)FusionInsight HD系统中,用户登录到客户端,请求服务端的某个应用,客户端需要先向认证服务器请求消息获取如下哪一项

A TGT B ST C PT D TOKEN

9 FusionInsight HD 的HBase服务包含哪些进程

A HMaster B Slave C RegionServer D DataNode

10(单选) Hadoop平台中 HBase的Region是由哪个服务进程来管理

A HMaster B DataNode C RegionServer DZooKeeper

11(单选) FusionInsight HD 系统中HBase的最小处理单元是Region,User Region和RegionServer之间的路由信息是保存在哪里

A ZooKeeper BHDFS CMaster D meta表

12(单选) 以下哪类数据不属于半结构化数据

A HTML B XML C二维表 DJSON

13(单选) FusionInsight HD 中,如果需要查看当前登录HBase的用户和权限组,可以在HBase shell中执行什么命令

Auser_permission Bwhoami Cwho Dget_user

14(多选)Loader提供了哪些方式或接口实现作业管理

AWeb UI BLinux命令行 CRest接口 D Java API

15(多选) Flume进程级联时,以下哪些sink类型用于接收上一跳Flume发送过来的数据

Aavro sink Bthrift sink C HDFS sink DNull Sink

16(多选)在SolrCloud模式下,以下关于Solr相关概念描述正确的有

A Collection是在SolrCloud集群中逻辑意义上完整的索引,可以被划分为一个或者多个Shard,这些Shard使用相同的Config Set。

B Config Set是Solr Core提供服务必须的一组配置文件,包括solrconfigxml和schemaxml等。

C Shard是Collection的逻辑分片,每个Shard都包含一个或者多个replicas,通过选举确定哪个replica是Leader,只有Leader replica才能进行处理索引和查询请求。

D Replica只有处于active状态时才会接受索引和查询请求。

17(判断)FusionInsight HD系统中,在创建Kafka的Topic时必须设置Partition个数和副本个数,设置多副本可以增强Kafka服务的容灾能力。

A True B False

18(判断)FusionInsight HD 的Streaming对于Zookeeper弱依赖,即使Zookeeper故障Streaming也可以正常提供服务。

A True B False

19(单选)FusionInsightHD系统中,哪个不属于集群节点的磁盘分区

A OS分区 B数据分区 C元数据分区 D管理分区

20 (单选)FusionInsight Manager对服务的配置功能说法不正确的是

A服务级别的配置可对所有实例生效

B实例级别的配置只针对本实例生效

C实例级别的配置对其他实例也生效

D配置保存后需要重启服务才能生效

答案:

1 CD 2C 3C 4D 5A 6A 7 B 8A 9AC 10C 11D 12 C 13 B 14ABCD 15BC 16ABD 17A 18B 19D 20C

以上就是关于HBASE 1.0全部的内容,包括:HBASE 1.0、HBase 的一个报错 hadoop zk hbase 都正常启动、华为认证HCNA-Big Data模拟试题及答案等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10108348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存