HBase 的安装与实战

本文详细介绍了HBase的安装过程,包括配置环境变量、设置HBase和ZooKeeper的相关参数,以及启动HBase。接着,文章深入到HBase的shell命令使用,涵盖了创建表、插入数据、查询和删除记录等基本操作,还涉及到了列簇管理和版本控制。
摘要由CSDN通过智能技术生成

七 HBase 的安装与实战

7.1 HBase的安装

  • 下载安装包 http://archive.cloudera.com/cdh5/cdh/5/hbase-1.2.0-cdh5.7.0.tar.gz

  • 配置伪分布式环境

    • 环境变量配置

      export HBASE_HOME=/usr/local/development/hbase-1.2.4
      export PATH=$HBASE_HOME/bin:$PATH
      
    • 配置hbase-env.sh

      export JAVA_HOME=/usr/local/development/jdk1.7.0_15
      export HBASE_MANAGES_ZK=false  --如果你是使用hbase自带的zk就是true,如果使用自己的zk就是false
      
    • 配置hbase-site.xml

      <property>
            <name>hbase.rootdir</name>  --hbase持久保存的目录
            <value>hdfs://hadoop001:8020/opt/hbase</value>   
      </property>
      <property>
            <name>hbase.cluster.distributed</name>  --是否是分布式
            <value>true</value>
      </property>
      <property>     
                <name>hbase.zookeeper.property.clientPort</name>    --指定要连接zk的端口
                <value>2181</value>    
      </property>    
      <property>        
                <name>hbase.zookeeper.property.dataDir</name>            <value>/home/hadoop/app/hbase/zkData</value>    
      </property>          
      
    • 启动hbase(启动的hbase的时候要保证hadoop集群已经启动)

      /hbase/bin/start-hbase.sh
      
    • 输入hbase shell(进入shell命令行)

7.2 HBase shell

  • HBase DDL 和 DML 命令
名称命令表达式
创建表 create '表名', '列族名1','列族名2','列族名n'
添加记录 put '表名','行名','列名:','值
查看记录 get '表名','行名'
查看表中的记录总数 count '表名'
删除记录 delete '表名', '行名','列名'
删除一张表 第一步 disable '表名' 第二步 drop '表名'
查看所有记录 scan "表名称"
查看指定表指定列所有数据 scan '表名' ,{COLUMNS=>'列族名:列名'}
更新记录 重写覆盖
  • 连接集群
hbase shell
  • 创建表
create 'user','base_info'
  • 删除表
disable 'user'
drop 'user'
  • 创建名称空间
create_namespace 'test'
  • 展示现有名称空间
list_namespace
  • 创建表的时候添加namespace
create 'test:user','base_info'
  • 显示某个名称空间下有哪些表
list_namespace_tables 'test'
  • 插入数据

    put ‘表名’,‘rowkey的值’,’列族:列标识符‘,’值‘

put 'user','rowkey_10','base_info:username','Tom'
put 'user','rowkey_10','base_info:birthday','2014-07-10'
put 'user','rowkey_10','base_info:sex','1'
put 'user','rowkey_10','base_info:address','Tokyo'

put 'user','rowkey_16','base_info:username','Mike'
put 'user','rowkey_16','base_info:birthday','2014-07-10'
put 'user','rowkey_16','base_info:sex','1'
put 'user','rowkey_16','base_info:address','beijing'

put 'user','rowkey_22','base_info:username','Jerry'
put 'user','rowkey_22','base_info:birthday','2014-07-10'
put 'user','rowkey_22','base_info:sex','1'
put 'user','rowkey_22','base_info:address','Newyork'

put 'user','rowkey_24','base_info:username','Nico'
put 'user','rowkey_24','base_info:birthday','2014-07-10'
put 'user','rowkey_24','base_info:sex','1'
put 'user','rowkey_24','base_info:address','shanghai'

put 'user','rowkey_25','base_info:username','Rose'
put 'user','rowkey_25','base_info:birthday','2014-07-10'
put 'user','rowkey_25','base_info:sex','1'
put 'user','rowkey_25','base_info:address','Soul'
  • 查询表中的所有数据
scan 'user'
  • 查询某个rowkey的数据
get 'user','rowkey_16'
  • 查询某个列簇的数据
get 'user','rowkey_16','base_info'
get 'user','rowkey_16','base_info:username'
get 'user', 'rowkey_16', {COLUMN => ['base_info:username','base_info:sex']}
  • 删除表中的数据
delete 'user', 'rowkey_16', 'base_info:username'
  • 清空数据
truncate 'user'
  • 操作列簇
alter 'user', NAME => 'f2'
alter 'user', 'delete' => 'f2'
  • HBase 追加型数据库 会保留多个版本数据

    desc 'user'
    Table user is ENABLED
    user
    COLUMN FAMILIES DESCRIPTION
    {NAME => 'base_info', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_B
    HE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MI
    ER => 'NONE', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOM
    se', COMPRESSION => 'NONE', BLOCKCACHE => 'false', BLOCKSIZE => '65536'}
    
    • VERSIONS=>'1’说明最多可以显示一个版本 修改数据
    put 'user','rowkey_10','base_info:username','Tom'
    
    • 指定显示多个版本
    get 'user','rowkey_10',{COLUMN=>'base_info:username',VERSIONS=>2}
    
    • 修改可以显示的版本数量
    alter 'user',NAME=>'base_info',VERSIONS=>10
    
  • 命令表

可以通过HbaseUi界面查看表的信息

端口60010打不开的情况,是因为hbase 1.0 以后的版本,需要自己手动配置,在文件 hbase-site

<property>  
<name>hbase.master.info.port</name>  
<value>60010</value>  
</property> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lucky-zhao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值