Hbase学习笔记复习过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

H b a s e学习笔记

参考书籍: Hadoop in action, 吴超沉思录

1.Hbase简介

1.面向列的分布式数据库

2. 以HDFS作为文件系统

3. 利用MapReduce处理Hbase中海量数据

4. ZookKeeper作为协调工具

5. sqoop提供Hbase到关系型数据库中数据导入功能

6. Hive和pig提供高层语言支持如HSQL

2. 伪分布式安装

准备:安装Hadoop 详细见上一篇日志:hadoop分布式安装hbase版本: hbase-0.94.7-security.tar.gz

安装目录 /usr/local

步骤:

1. 安装 tar -zxvf hbase-0.94.7-security.tar.gz

2. 重命名: mv hbase-0.94.7-security hbase

3. 配置环境变量hbase_home (vi /etc/profile)

4. 修改配置文件

1. hbase_home/conf/hbase_env.sh

修改java_home export

JAVA_HOME=/usr/local/jdk/

修改zookeeper(最后一行)

export HBASE_MANAGES_ZK=true(使用Hbase托管的ZooKeeper)2. hbase_home/conf/hbase-site.xml文件

configuration 中加入:

hbase.rootdir

hdfs://hadoop0:9000/hbase hbase.cluster.distributed

true

hbase.zookeeper.quorum

hadoop0

dfs.replication

1

5. 启动hbase

先启动hadoop(start-all.sh)

启用hbase (start-hbase.sh)

jps查看进程(HMaster,HRegionServer, HQuorumPeer)

http://hadoop0:60010可以查看管理界面,如下:

6. 进程说明:

HMaster: 管理Hbase table的DDL操作

给region分配工作

HResionServer:原则上每个slave对应一个HRegionServer HQuorumPeer: ZooKeeper的守护进程,此处我们使用的是Hbase内置的ZooKeeper(在hbase-env.sh中有配置)

3. 分布式安装

准备条件: hadoop分布式环境已安装,查看hadoop分布式安装hadoop0主机上hbase伪分布已安装完成

安装:

1. scp -rp /usr/local/hbase hadoop1:/usr/local

2. 在hadoop0上更改hbase_home/conf/regionservers 将localhost更改为hadoop1

3. 在hadoop0上启动hbase

4. jps查看,如下:

hadoop0上进程:

hadoop1上进程:

同理可通过 hostname:60010访问hbase管理界面,同分布式安装部分

4. 数据模型

1. Hbase数据库采用了和Bigtable非常类似的数据类型,表格是稀疏的;

1. row key 行键,table的主键

2. timestamp 时间戳,数据操作时对应的时间戳,可以看成数据的version number

3. Column Family 列簇,每个family可以由任意多个column组成,列名是<族名>:<标签>形式;一个表格的族名时固定的,除非使用管理员权限来改变表格的族名;不过可以在任何时候添加新的标签;

eg:course对于表来说是一个有两个列的列族(该列族由两个列组成math 和art);

4.两张特殊的表 -ROOT- 和 .META.

作用如下:(即-ROOT-记录.META.的region信息,.META.记录用户表的region信息)

关系如下:

基本操作

(注意操作后不要加分号,习惯了sql,总是在后面加分号,然后发现执行语句后都一直没有反应,去掉分号后成功)

(表名和列名都需要加引号,不区分单双引号)

Hbase shell,是Hbase的命令行工具,命令行中执行hbase shell即可进入hbase shell命令行

1) list 查看hbase中所有表

2)创建表:

create '表名','列簇1','列簇2'....

create'student', 'name','grade','course'

在管理界面中查看student

3)describe 查看表结构

describe '表名'

eg: describe 'student'

hbase(main):003:0> describe "student"

DESCRIPTION ENABLED

'student', {NAME =>'course', DATA_BLOCK_ENCODING =true >'NONE', BLOOMFILTER =>'NONE', REPLICATION_SCOPE =>'0', VERSIONS =>'3', COMPRESSION =>'NONE', MIN

_VERSIONS =>'0', TTL =>'2147483647', KEEP_DELETED

_CELLS =>'false', BLOCKSIZE =>'65536', IN_MEMORY

=>'false', ENCODE_ON_DISK =>'true', BLOCKCACHE =>

'true'}, {NAME =>'grade', DATA_BLOCK_ENCODING =>

'NONE', BLOOMFILTER =>'NONE', REPLICATION_SCOPE => '0', VERSIONS =>'3', COMPRESSION =>'NONE', MIN_V

ERSIONS =>'0', TTL =>'2147483647', KEEP_DELETED_C

ELLS =>'false', BLOCKSIZE =>'65536', IN_MEMORY =>

'false', ENCODE_ON_DISK =>'true', BLOCKCACHE =>'

相关文档
最新文档