windows下hbase部署和使用

    xiaoxiao2023-11-28  136

    这里假定hadoop已经部署完成(详细步骤可参考上一篇文章),继续进行hbase的安装,过程如下:

    1、下载Hbase2.0.5,下载地址:http://archive.apache.org/dist/hbase/,这里注意hbase和hadoop的版本,hadoop2.7.x以上,hbase2.0以上。

    2、解压并添加环境变量,如下:

    增加系统变量:HBASE_HOME=E:\geotrellis\hbase-2.0.5

    PATH增加%HBASE_HOME%\bin

    3、配置hbase-env.sh,配置文件位于hbase_home/conf下

    4、配置hbase-site,位置同上。

    <configuration>

        <property>

            <name>hbase.rootdir</name>

            <value>hdfs://localhost:9000/hbase</value>

        </property>

        <property>

            <name>hbase.zookeeper.property.dataDir</name>

            <value>/home/hadoop/zookeeper</value>

        </property>

        <property>

            <name>hbase.cluster.distributed</name>

            <value>false</value>

        </property>

    </configuration>

    这里设置不使用集群,hbase.cluster.distributed=false

    5、启动hbase,cd到hbase的bin目录,输入:start-hbase.cmd

    6、进入hbase的bin目录,输入.\hbase shell

    1)、HBase shell中的帮助命令非常强大,使用help获得全部命令的列表,使用help ‘command_name’获得某一个命令的详细信息。 例如:

    help ‘list'

    2)、查询服务器状态

    status

    3)、查询Hbase版本:

    version

    4)、查看所有表

    list

    增删改

    1)、创建一个表

    create 'member','member_id','address','info’

    2)、获得表的描述

    describe 'member'

    3)、添加一个列族

    alter 'member', 'id'

    4)、删除一个列族

    alter 'member', {NAME => 'member_id', METHOD => 'delete’}

    5)、删除列

    1)通过delete命令,我们可以删除id为某个值的‘info:age’字段,接下来的get就无视了

    delete 'member','debugo','info:age'get 'member','debugo','info:age'

    2)删除整行的值:deleteall

    deleteall 'member','debugo'get 'member',’debugo'

    6、通过enable和disable来启用/禁用这个表,相应的可以通过is_enabled和is_disabled

    来检查表是否被禁用。

    is_enabled 'member'is_disabled 'member'

    7、使用exists来检查表是否存在

    exists 'member'

    8、删除表需要先将表disable。

    disable 'member'drop 'member'

    9、put

    在HBase shell中,我们可以通过put命令来插入数据。例如我们新创建一个表,它拥有id、address和info三个列簇,并插入一些数据。列簇下的列不需要提前创建,在需要时通过:来指定即可。

    create 'member','id','address','info'

    # 数据

    put 'member', 'debugo','id','11'

    put 'member', 'debugo','info:age','27'

    put 'member', 'debugo','info:birthday','1987-04-04'

    查询

    1、查询表中有多少行:count

    count 'member'

    2、get

    1)获取一个id的所有数据

    get 'member', ‘Sariel'

    2)获得一个id,一个列簇(一个列)中的所有数据:

    get 'member', 'Sariel', 'info'

    3、查询整表数据

    scan 'member'

    4、扫描整个列簇

    scan 'member', {COLUMN=>'info'}

    5、指定扫描其中的某个列:

    scan 'member', {COLUMNS=> 'info:birthday'}

     

    最新回复(0)