Hbase数据库入门

Hbase概述

Apache Hbase是hadoop数据库,是一个分布式,可扩展的大数据存储。

当您需要对大数据进行随机,实时读/写访问时,请使用Apache HBase。该项目的目标是托管非常大的表-数十亿行x百万列-在商品硬件集群上。Apache HBase是一个开源的,分布式的,版本化的非关系数据库,模仿Google的Bigtable;Chang等人的结构化数据分布式存储系统。正如Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS之上提供类似Bigtable的功能。

2006年-google发表了bigtable的白皮书
2006年-开始开发hbase
2008年-hbase正式成为apache的子项目
2010年-正式成为apache的顶级项目

Hbase架构

Hbase集群安装部署

集群配置

zk集群5台
hadoop集群5台
hbase集群5台

1)上传hbase安装文件
hbase-1.3.0-bin.tar.gz

2)解压

3)修改配置文件

conf/hbase-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_181
export HBASE_MANAGES_ZK=false

conf/hbase-site.xml

<configuration>
<!-- 设置namenode所在位置 通过rootdir设置 也就是设置hdfs中存放的路径 -->
	<property>
            <name>hbase.rootdir</name>
            <value>hdfs://bigdata121:9000/hbase</value>
    </property>

    <!-- 是否开启集群 -->
    <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
    </property>

    <!-- 0.98 后的新变动,之前版本没有.port,默认端口为 60000 -->
    <property>
            <name>hbase.master.port</name>
            <value>16000</value>
    </property>

    <!-- zookeeper集群的位置 -->
    <property>
            <name>hbase.zookeeper.quorum</name>
            <value>bigdata121:2181,bigdata122:2181,bigdata123:2181,bigdata124:2181,bigdata125:2181</value>
    </property>

    <!-- hbase的元数据信息存储在zookeeper的位置 -->
    <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/root/hd/zookeeper-3.4.10/zkData</value>
    </property>
</configuration>

conf/regionservers

bigdata121
bigdata122
bigdata123
bigdata124
bigdata125

这样配置就改好了。
然后是依赖问题

4)解决依赖问题
把相关版本的zookeeper和hadoop的依赖包导入到hbase/lib下

软连接hadoop配置
ln -s /hadoop/core-site.xml /hbase/conf/
ln -s /hadoop/hdfs-site.xml /hbase/conf/

这样就好了

5)启动
在启动hbase时,先请确保hdfs集群,yarn集群,zookeeper集群启动完成。

单点启动
主节点
bin/hbase-daemon.sh start master 
从节点
bin/hbase-daemon.sh start regionserver

启动成功 
jps
主节点显示 
25905 AzkabanExecutorServer  azkaban的执行器进程
28913 HMaster				 hbase集群的管理进程
26850 NameNode				 hdfs集群的元数据进程
3620 ResourceManager		 yarn集群的资源管理进程
28804 QuorumPeerMain		 zookeeper的进程
29268 Jps
29193 Main
25979 AzkabanWebServer		azkaban的服务端进程

从节点显示
18641 DataNode				 hdfs的数据进程
20370 HRegionServer			 hbase的数据存储进程
20250 QuorumPeerMain		 zookeeper的进程
4348 NodeManager			 yarn的job任务进程
20462 Jps

在进程上看出现了HMater HRegionServer就说明成功了。

进入hbase的shell命令
bin/hbase shell

6)ui界面 
http://192.168.252.121:16010/master-status

Hbase shell

1)查看服务器状态
status 'bigdata121'

2)查看当前有哪些表
list

3)查看帮助
help

hbase 表操作

1)创建表
create '表名’,'列族'

2)全表扫描
scan '表名'

rowkey:行键:唯一 不重要
timestamp:时间戳  
cell:单元格 数据存放位置
column family:列族,列族下包含多个列
column:列

3)向表中插入数据
put '表名','rowkey','列族:列名','值'

4)覆盖数据
在hbase中没有修改,但是可以覆盖只要保持rowkey,列族,列相同即可进行覆盖操作

5)筛选扫描
scan 'user',(STARTROW =>'101',STOPROW => '101')

6)查看表结构
describe '表名'

7)变更表信息
alter '表名',{NAME => 'info',VERSIONS => '3'}

8)删除数据

根据rowkey删除
deleteall '表名','rowkey'

根据具体的列删除
delete '表名','rowkey','列族:列'

9)清空表
truncate '表名'

10)删除表
第一步:设置不可用
disable '表名'

第二步:删除该表
drop '表名'

11)统计表中数据行数
count '表名'

12)查看指定rowkey值
get '表名','1002'

13)查看具体列值
get '表名','1002','info:name'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HBase入门到精通》是一本关于HBase数据库的学习指南。它主要介绍了HBase的基本概念、架构和使用方法,以及如何进行高级配置和优化。这本书适合那些想要深入了解HBase技术的读者,无论是初学者还是有一定经验的开发人员。 首先,这本书会帮助读者了解HBase的起源和背景,介绍Hadoop生态系统中的HBase定位和关键特性。然后,它会详细解释HBase的数据模型和各个组件的功能。读者将学习如何设计数据表和列族,以及如何使用HBase的查询语言进行数据检索。 接下来,这本书会介绍HBase的架构和工作原理。读者将了解Region Server、Master Server和ZooKeeper等关键组件的功能和作用。同时,它还会讲解HBase的数据分布和复制机制,以及如何进行故障恢复和集群管理。 除了基础知识,这本书还会深入探讨HBase的高级应用和优化技巧。读者将学习如何构建高性能的HBase应用程序,包括数据插入、读取和更新的最佳实践。同时,它还会介绍HBase的二级索引、过滤器和缓存机制等高级功能,以及如何进行数据压缩和性能调优。 总的来说,通过学习《HBase入门到精通》,读者将能够全面掌握HBase的核心概念和技术,从而能够独立设计、开发和管理HBase数据库。无论是对于个人技能提升还是实际项目应用,这本书都是一份非常有价值的学习资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值