Hbase安装与概述

本文介绍了HBase的安装步骤及关键配置项,包括环境变量设置、配置文件修改等,并详细解析了HBase的数据模型,如RowKey、ColumnFamily、Cell和Timestamp的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hbase安装与概述##

1. hbase的概述

HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群,HBASE利用Hadoop HDFS作为其文件存储系统,HBASE利用Hadoop MapReduce来处理HBASE中的海量数据,HBASE利用通过zookeeper协调查找数据,访问速度快。

  • HBase 依赖于 HDFS 做底层的数据存储
  • HBase 依赖于 MapReduce 做数据计算
  • HBase 依赖于 ZooKeeper 做服务协调

2. hbase安装

  • 上传安装包到指定文件夹,解压tar –zxvf hbase-0.99.2-bin.tar.gz,重命名为 hbase
  • 修改环境变量:
export HBASE_HOME=/home/hadoop/hbase
export PATH=$PATH:$HBASE_HOME/bin
刷新环境变量
source /etc/profile
  • 修改配置文件
1.hbase-env.sh
	export JAVA_HOME=/usr/jdk   //jdk安装目录
	export HBASE_CLASSPATH=/home/hadoop/hadoop/conf   //hadoop配置文件的位置
	export HBASE_MANAGES_ZK=true   #如果使用独立安装的zookeeper这个地方就是false
	
2. hbase-site.xml
<configuration>
	<property>
	<name>hbase.master</name>		#hbasemaster的主机和端口
	<value>master1:60000</value>
	</property>
	<property>
	<name>hbase.master.maxclockskew</name>    #时间同步允许的时间差
	<value>180000</value>
	</property>
	<property>
	<name>hbase.rootdir</name>
	<value>hdfs:// master:9000/hbase</value>#hbase共享目录,持久化hbase数据
	</property>
	<property>
	<name>hbase.cluster.distributed</name>  #是否分布式运行,false即为单机
	<value>true</value>
	</property>
	<property>
	<name>hbase.zookeeper.quorum</name>#zookeeper地址
	<value>slave1:2181, slave2:2181,slave3:2181</value>
	</property>
	<property>
	<name>hbase.zookeeper.property.dataDir</name>#zookeeper配置信息快照的位置
	<value>/home/hadoop/hbase/tmp/zookeeper</value>
	</property>
</configuration>

3. Regionservers    //是从机器的域名
	slave1
	slave2
	slave3
  1. 把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下

  2. 发送到其他机器 scp –r /home/hadoop/hbase hadoop@slave1:/home/hadoop

  3. 配置高可用:在 HBASE_HOME/conf 下创建一个backup-masters文件,内容指定一个节点为备用的HMaster 备用节点,当主HMater挂了后会启动别用的HMaster

  4. 集群时间同步:HBase 集群对于时间的同步要求的比 HDFS 严格,所以,集群启动之前千万记住要进行 时间同步,要求相差不要超过 几十秒:
    同步时间命令: date -s “2018-10-25 17:21:00” 再次启动Hbase集群

  5. 启动start-hbase.sh ,jps查看 HMaster,HRegionServer

3. hbase数据模型

在这里插入图片描述

  • Row Key: row key是用来检索记录的主键,Hbase使用Rowkey来唯一的区分某一行的数据
    访问HBASE table中的行有三种方式:
    1.通过单个row key访问
    2.通过row key的range(正则)
    3.全表扫描

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

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

  • Time Stamp: HBASE中通过rowkey和columns确定的为一个存贮单元称为cell。每个cell都保存着同一份数据的多个版本。版本通过时间戳来索引。HBASE 中通过rowkey和columns确定的为一个存贮单元称为cell。每个 cell都保存着同一份数据的多个版本。版本通过时间戳来索引。用户可以针对每个列族进行设置.

4. hbase命令

1.hbase提供了一个shell的终端给用户交互  
hbase shell
执行删除操作时,需要使用组合键:Ctrl+Back Space同时按下,只按Back Space不会删除的。

2.退出执行命令  
quit

3.help 获取帮助
    help :获取所有命令提示
 help "dml" :获取一组命令的提示
 help "put" :获取一个单独命令的提示帮助

4.创建表格 create '表名', '列族名1','列族名2','列族名N'
create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}

5.查看所有表  
list

6.查看表的详细信息desc + '表名' 

7.删除表  先要屏蔽该表,才能对该表进行删除,
第一步 disable ‘表名’ ,
第二步  drop '表名'
disable 'table'
delete 'table'

8.描述表  describe  ‘表名’  describe 'table'

9.添加记录  put  ‘表名’, ‘rowKey’, ‘列族 : 列‘  ,  '值'
put 'table','id','column_famaly1:age','20'
put 'table','id','column_famaly1:name','tanggao'
put 'table','id','column_famaly1:sex','boy'

10.获取数据 get '表名','rowkey','列族'  get '表名','rowkey','列族:列’
get 'table','id'
get 'table','id','column_famaly1'
get 'table','id','column_famaly1:name'

11.查看所有记录 scan "表名"  
 scan 'table'
 
12.删除记录 
delete  ‘表名’ ,‘行名’ , ‘列族:列' 
deleteall '表名','rowkey'
delete 'table','id','column_famaly1:age'

13.清空表  truncate '表名' 
truncate 'table'

14. 添加列族
 alter 'myHbase', NAME => 'myInfo'

15. 删除一个列簇   
alter 'myHbase', NAME => 'myCard', METHOD => 'delete'
alter 'myHbase', 'delete' => 'myCard'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值