HBase安装_配置_启动

一、HBase部署与启动

(1)下载、解压缩,在/etc/profile全局配置文件中添加

export HBASE_HOME=/export/servers/hbase-2.4.5
export PATH=$PATH:$HBASE_HOME/bin

(2)配置hbase-env.sh

export JAVA_HOME=/export/servers/jdk1.8.0_161
export HBASE_MANAGES_ZK=false  # 使用外部的ZooKeeper

(3)配置hbase-site.xml

<configuration>
  <!-- hbase数据存放的目录,若用本地目录,必须带上file://,否则hbase启动不起来 -->
        <property>
                <name>hbase.rootdir</name>
                <value>hdfs://my2308-host:9000/hbase</value>
        </property>
​
        <!-- zk的位置 -->
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>localhost</value>
                <description>my2308-host:2181</description>
        </property>
​
<!--hbase.cluster.distributed表示是否分布式部署,指定为true-->
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
​
        <!-- hbase主节点的位置 -->
        <property>
                <name>hbase.master</name>
                <value>my2308-host:60000</value>
        </property>
</configuration>

(3)拷贝zookeeper的conf/zoo.cfg到hbase的conf/下

(4)启动HBase

执行start-hbase.sh脚本

注意:为了方便启动,可在/etc/profile中添加环境变量

export HBASE_HOME=/export/servers/hbase-2.4.5
export PATH=$PATH:$HBASE_HOME/bin

二、HBase组件角色:

  • HMaster

1.监控 RegionServer

2.处理 RegionServer 故障转移

3.处理元数据的变更

4.处理region 的分配或移除

5.在空闲时间进行数据的负载均衡

6.通过 Zookeeper 发布自己的位置给客户端

  • HRegionServer

1.负责存储 HBase 的实际数据

2.处理分配给它的 Region

3.刷新缓存到 HDFS

4.维护WAL

5.执行压缩

6.负责处理 Region 分片

  • HFile

    这是在磁盘上保存原始数据的实际的物理文件,是实际的存储文件。

  • Store

HFile 存储在 Store 中,一个 Store 对应 HBase 表中的一个Column Family列族(列簇)。

  • MemStore

    顾名思义,就是内存存储,位于内存中,用来保存当前的数据操作,所以当数据保存在 WAL中之后,RegsionServer 会在内存中存储键值对。

三、HBase基本操作演示

前提条件:
  • 启动Hadoop集群:sbin/start-all.sh

  • 启动ZooKeeper服务:zkServer.sh start

  • 启动HBase服务:start-hbase.sh

数据库操作演示:
  • 进入 hbase 客户端

hbase shell
  • 查看所有库(命名空间)

list_namespace
  • 创建一个名称为'mydb'的库

create_namespace 'mydb'
  • 删除'mydb'库

drop_namespace 'mydb' 
表操作演示
  • 查看 'mydb'库下的表

list_namespace_tables 'mydb'
  • 查看所有自己创建的表

list
  • 在'mydb'库下创建名为test的表,并创建'f1'、'f2'两个列族

create 'mydb:test','f1','f2'

 注意:创建表时若不指定库名,则默认在default库下创建表,创建表需要至少指定一个列族

  • 查看表详细信息

describe 'mydb:test'
desc 'mydb:test'
  • 增加列族

alter 'mydb:test','f3'
  • 删除列族

alter 'mydb:test','delete'=>'f2'
  • 删除表

disable 'mydb:test'
drop 'mydb:test'

注意:删除表需要先进行disable,再进行drop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值