HBase的安装:

安装环境:
有三台虚拟机,并且已经将Hadoop环境和Zookeeper环境搭建好。
HBase的下载:
官网:
https://hbase.apache.org/ 下载地址:
http://archive.apache.org/dist/hbase/安装部署:
(1)将安装包上传到服务器并解压

[liu@master software]$ tar -zxf hbase-0.98.24-hadoop2-bin.tar.gz -C /hone/liu/module/

(2)修改Hbase目录下conf/hbase-env.sh 文件

vim conf/hbase-env.sh
//添加下面两个配置
export JAVA_HOME=/liu/module/jdk1.8.0_144
export HBASE_MANAGES_ZK=false

(3)修改Hbase目录下conf/hbase-site.xml 文件

<configuration>
        <property>     
                <name>hbase.rootdir</name>     
                <value>hdfs://liu/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>
        <property>   
                <name>hbase.zookeeper.quorum</name>
                <value>master:2181,server1:2181,server2:2181</value>
        </property>
        <property>   
              	<name>hbase.zookeeper.property.dataDir</name>
            	<value>/home/liu/zkdata</value>
        </property>
        <property>
    			<name>hbase.coprocessor.region.classes</name>
    			<value>com.demo.consumer.CalleeWriteObserver</value>
        </property>
</configuration>

(4)修改Hbase目录下conf/regionservers 文件

//三台主机名
master
server1
server2

(5)软连接hadoop配置文件到hbase

[liu@master module]$ ln -s /liu/module/hadoop-2.7.2/etc/hadoop/core-site.xml 
/liu/module/hbase/conf/core-site.xml

[liu@master module]$ ln -s /liu/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml 
/liu/module/hbase/conf/hdfs-site.xml

(6)将HBase远程发送到另外两台从机

[liu@master modules]$ scp -r hbase-1.3.1/ liu@server1:/home/liu/modules/
[liu@master modules]$ scp -r hbase-1.3.1/ liu@server2:/home/liu/modules/

HBase的使用

1.开启/关闭HBase服务

[liu@master hbase]$ bin/start-hbase.sh
[liu@master hbase]$ bin/stop-hbase.sh

2.HBase Shell操作

//进入HBase客户端命令行
[liu@master hbase]$ bin/hbase shell

命令

描述

语法

help

查看帮助命令

help ‘命令名’

whoami

我是谁

whoami

version

返回hbase版本信息

version

status

返回hbase集群的状态信息

status

table_help

查看如何操作表

table_help

create

创建表

create ‘表名’, ‘列族名1’, ‘列族名2’, ‘列族名N’

alter

修改列族

(1)添加一个列族:alter ‘表名’, ‘列族名’(2)删除列族:alter ‘表名’, {NAME=> ‘列族名’, METHOD=> ‘delete’}

describe

显示表相关的详细信息

describe ‘表名’

list

列出hbase中存在的所有表

list

exists

测试表是否存在

exists ‘表名’

put

添加或修改的表的值

put ‘表名’, ‘行键’, ‘列族名’, ‘列值’put ‘表名’, ‘行键’, ‘列族名:列名’, ‘列值’

scan

通过对表的扫描来获取对用的值

scan ‘表名’ (1)扫描某个列族: scan ‘表名’, {COLUMN=>‘列族名’}(2)扫描某个列族的某个列: scan ‘表名’, {COLUMN=>‘列族名:列名’} (3) 查询同一个列族的多个列: scan ‘表名’, {COLUMNS => [ ‘列族名1:列名1’, ‘列族名1:列名2’, …]}

get

获取行或单元(cell)的值

get ‘表名’, ‘行键’ get ‘表名’, ‘行键’, ‘列族名’

count

统计表中行的数量

count ‘表名’

incr

增加指定表行或列的值

incr ‘表名’, ‘行键’, ‘列族:列名’, 步长值

get_counter

获取计数器

get_counter ‘表名’, ‘行键’, ‘列族:列名’

delete

删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值)

删除列族的某个列: delete ‘表名’, ‘行键’, ‘列族名:列名’

deleteall

删除指定行的所有元素值

deleteall ‘表名’, ‘行键’

truncate

重新创建指定表

truncate ‘表名’

enable

使表有效

enable ‘表名’

is_enabled

是否启用

is_enabled ‘表名’

disable

使表无效

disable ‘表名’

is_disabled

是否无效

is_disabled ‘表名’

drop

删除表

drop的表必须是disable的 disable ‘表名’ drop ‘表名’

shutdown

关闭hbase集群(与exit不同)

shutdown

tools

列出hbase所支持的工具

tools

exit

退出hbase shell

exit