Hbase的入门配置教程(0.20.6)

1.Hbase是hadoop的子项目,到http://hadoop.apache.org这里下载合适的Hbase版本。注意:Hadoop跟Hbase的版本是不能随意搭配的。所以要先了解清楚是否搭配再进行部署,不然就白费工夫了。这里使用的是0.20.2的hadoop跟0.20.6的Hbase,hadoop的配置在我以前的博文里有,有需要配置hadoop的朋友先看了那篇文章再进行Hbase的配置吧。配置的步骤是:先hadoop,后hbase。

2.解压Hbase。具体命令:tar -zxvf hbase-0.20.6.tar.gz

3.修改conf目录下的hbase-site.xml、hbase-env.sh、regionservers文件。貌似配置用不上hbase-default.xml,不理它。

hbase-site.xml

<property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoopserver-1:9000/hbase</value>
    <description></description>
 </property>
 <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    <description></description>
 </property>
 <property> 
    <name>hbase.master.port</name>
    <value>60000</value>  
 </property>
 <property>
    <name>hbase.zookeeper.quorum</name>       
    <value>hadoopserver-1</value>
    <description></description>
 </property>
 <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/hadoopuser/data/zookeeper</value>
    <description></description>
 </property>

解释:

hbase.rootdir设置hbase在hdfs上的目录,主机名为hdfs的namenode节点所在的主机
hbase.cluster.distributed设置为true,表明是完全分布式的hbase集群
hbase.master设置hbase的master主机名和端口
hbase.zookeeper.quorum设置zookeeper的主机,建议使用单数

 

然后在hbase-env.sh里添加如下配置:

  export JAVA_HOME=/usr/local/jdk1.6.0_22/
  export HBASE_LOG_DIR=/home/hadoopuser/logs/hbase
  export HBASE_MANAGES_ZK=true

如果想让Hbase自己管理zookeeper,则HBASE_MANAGES_ZK就要设置成true,这样就不用自己手动启动zookeeper,因为Hbase是集成了zookeeper的。 (PS:其实我们可以自己定义一组zookeeper的集群来协调Hbase的工作的,这里为了省事,就先用Hbase自带的zookeeper吧。

修改regionservers文件
将所有的datanode添加到这个文件,类似与hadoop中slaves文件 

 

4.配置完毕,启动Hbase

$ bin/start-hbase.sh   ---启动hbase

$bin/hbase shell         ---进入hbase并且以shell方式操作

 

5.入门级shell教程

hbase(main):002:0> create 'student', 'grade', 'course'    ---在hbase里面创建一个stduent表,有两个列族:'grade','course'

hbase(main):002:0> list    ---查看当先HBase中具有哪些表

hbase(main):004:0> describe 'student'  ----查看student的表的表结构

hbase(main):002:0> put 'student', 'Tom', 'grade:', '1'    ----加入一行数据,行名称为 Tom 列族grad的列名为”” 值位1

hbase(main):006:0> put 'student', 'Tom', 'course:math', '87'       ----给Tom这一行的数据的列族添加一列 <math,87>

hbase(main):007:0> put 'student', 'Tom', 'course:art', '97'            ----给Tom这一行的数据的列族添加一列 <art,97>

hbase(main):008:0> put 'student', 'Jerry', 'grade:', '2'             ----加入一行数据,行名称为Jerry 列族grad的列名为”” 值位2

hbase(main):009:0> put 'student', 'Jerry', 'course:math', '100'     ----给Jerry这一行的数据的列族添加一列 <math,100>

hbase(main):010:0> put 'student', 'Jerry', 'course:art', '80'            ----给Jerry这一行的数据的列族添加一列 <art,80>

hbase(main):002:0> get 'stduent', 'Tom'   ---查看Tom这一行

hbase(main):017:0> scan 'stduent'           ---查看student表的所有数据

hbase(main):017:0> scan 'stduent',{COLUMNS => 'course:math'}     ---查看student表的course:math列的数据

注意:scan命令可以指定startrow,stoprow来scan多个row,例如:scan 'student',{COLUMNS =>'scorse:art',LIMIT =>90, STARTROW => 'Tom',STOPROW=>'Jerry'}

hbase(main):002:0> disable 'tableName' --disable表。注:修改表结构时,必须要先disable表。
hbase(main):002:0> enable 'tableName' --使表可用
hbase(main):002:0> drop 'tableName'    --删除表


 

创建表 create '表名称', '列名称1','列名称2','列名称N'
添加记录       put '表名称', '行名称', '列名称:', '值'
查看记录 get '表名称', '行名称'
查看表中的记录总数 count  '表名称'
删除记录 delete  '表名' ,'行名称' , '列名称'
删除一张表 先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步  drop '表名称'
查看所有记录 scan "表名称"  
查看某个表某个列中所有数据 scan "表名称" , ['列名称:']
更新记录  就是重写一遍进行覆盖 
 

 

查看Masterhttp://192.168.3.131:60010/master.jsp
查看Region Serverhttp://192.168.3.132:60030/regionserver.jsp
查看ZK Treehttp://192.168.3.131:60010/zk.jsp


http://hi.baidu.com/yuweiming/blog/item/c04277094273c6b32fddd46a.html点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值