其他分享
首页 > 其他分享> > 49 HBase入门、进阶

49 HBase入门、进阶

作者:互联网

HBase简介

HBase定义

HBase逻辑结构

HBase物理存储结构

数据模型

HBase基本架构

HBase安装部署

# Zookeeper正常部署
bin/zkServer.sh start

# Hadoop正常部署
sbin/start-dfs.sh
sbin/start-yarn.sh

# HBase解压
tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module
mv /opt/module/hbase-2.0.5 /opt/module/hbase

# 配置环境变量
sudo vim /etc/profile.d/my_env.sh

#HBASE_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin
# 修改hbase-env.sh
export HBASE_MANAGES_ZK=false

# 修改hbase-site.xml
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://node01:8020/hbase</value>
    </property>

    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>node01,node02,node03</value>
    </property>
</configuration>
# regionservers
node01
node02
node03

# 分发到其他集群
xsync.sh hbase

HBase服务的启动

# 单点启动
bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver

# 群启
bin/start-hbase.sh

# 查看HBase页面
http://node01:16010

高可用

# 在conf目录下创建backup-masters文件
touch conf/backup-masters

# 在backup-masters文件中配置高可用HMaster节点
node01
node02
node03

# 将整个conf目录scp到其他节点

HBase Shell操作

基本操作

# 进入客户端
bin/hbase shell

# 查看帮助命令
help

namespace的操作

# 查看namespace
list_namespace

# 创建namespace
create_namespace "test"
create_namespace "test01" {"author"=>"liuxan", "create_time"=>"2022-2-7"}

# 查看namespace
describe_namespace "test01"

# 修改namespace的信息(添加或者修改属性)
alter_namespace "test01",{METHOD => 'set', 'author'=>'lx'}

# 删除属性
alter_namespace "test01",{METHOD => 'unset', 'author'=>'lx'}

# 删除namespace
# 要删除的namespace必须是空的,其下没有表
drop_namespace "test01"

表的操作

# 查看当前数据库有哪些表
list

# 创建表
create 'stident','info'

# 插入数据到表
put 'student','1001','info:sex','male'
put 'student','1001','info:age','18'
put 'student','1002','info:name','Janna'
put 'student','1002','info:sex','female'
put 'student','1002','info:age','20'

# 扫描查看表数据
scan 'student'
scan 'student', {STARTROW =>'1001', STOPROW =>'1001'}
scan 'student', {STARTROW =>'1001'}

# 查看表结构
describe 'student'

# 更新指定字段的数据
put 'student','1001','info:name','Nick'
put 'student','1001','info:age','100'

# 查看指定行或指定列的数据
get 'student','1001'
get 'student','1001','info:name'

# 统计表数据行数
count 'student'

# 删除数据
# 删除某rowkey的全部数据
deleteall 'student','1001'
# 删除某rowkey的某一列数据
delete 'student','1002','info:sex'

# 清空表数据
# 先disable,再truncate
disable 'student'
truncate 'student'

# 删除表数据
disable 'student'
drop 'student'

# 变更表信息
# 将info列族中的数据存放3个版本
alter 'student', {NAME=>'info',VERSIONS =>3}
get 'student','1001',{COLUMN=>'info:name',VERSIONS=>3}

HBase进阶

RegionServer架构

写流程

MemStore Flush

读流程

StoreFile Compaction

Region Split

标签:进阶,49,student,Region,namespace,memstore,hbase,HBase
来源: https://www.cnblogs.com/19BigData/p/15868719.html