Hbase 伪分布安装及Hbase shell操作

前提:在已经安装了伪分布Hadoop的环境安装hbase-0.94.2-security.tar.gz;

1、安装被配置环境变量:  
  #cd /usr/local
    #tar -zxvf hbase-0.94.2-security.tar.gz
    #mv hbase-0.94.2-security hbase
之后配置环境变量:
    export HBASE_HOME=/usr/local/hbase
    PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin
    #source /etc/profile
2、修改配置文件:
修改conf中的hbase-env.sh文件:
去掉下面两行的注释,并且修改JAVA_HOME变量:
1 export JAVA_HOME=/usr/local/jdk
2 export HBASE_MANAGES_ZK=true
 
修改conf中的hbase-site.xml文件:
添加如下设置:
 1 <property>
 2   <name>hbase.rootdir</name>
 3   <value>hdfs://hadoop0:9000/hbase</value>
 4 </property>
 5 <property>
 6   <name>hbase.cluster.distributed</name>
 7   <value>true</value>
 8 </property>
 9 <property>
10   <name>hbase.zookeeper.quorum</name>
11   <value>hadoop0</value>
12 </property>
13 <property>
14   <name>dfs.replication</name>
15   <value>1</value>
16 </property>

 

之后,先启动hadoop,再启动Hbase,命令:start-hbase.sh
用jps查看进程,除了hadoop的五个进程外,还有HQuorumPeer,HMaster,HRegionServer三个进程:
 
3、Hbase Shell操作
hbase shell指令进入shell模式:
 
通过直接创建一个例子,学习其中的操作,其中和SQL有类似之处,也有很多不同,注意其中的“列族”的概念:
创建表
    >create 'users','user_id','address','info'
    表users,有三个列族user_id,address,info
列出全部表
    >list 
得到表的描述
    >describe 'users'
 
创建表
    >create 'users_tmp','user_id','address','info'
删除表
    >disable 'users_tmp'
    >drop 'users_tmp'
 
添加记录
put 'users','xiaoming','info:age','24'
put 'users','xiaoming','info:birthday','1987-06-17'
put 'users','xiaoming','info:company','alibaba'
put 'users','xiaoming','address:contry','china'
put 'users','xiaoming','address:province','zhejiang'
put 'users','xiaoming','address:city','hangzhou'
put 'users','zhangyifei','info:birthday','1987-4-17'
put 'users','zhangyifei','info:favorite','movie'
put 'users','zhangyifei','info:company','alibaba'
put 'users','zhangyifei','address:contry','china'
put 'users','zhangyifei','address:province','guangdong'
put 'users','zhangyifei','address:city','jieyang'
put 'users','zhangyifei','address:town','xianqiao'
 
获取一条记录
    1.取得一个id的所有数据
        >get 'users','xiaoming'
 
    2.获取一个id,一个列族的所有数据
        >get 'users','xiaoming','info'
 
    3.获取一个id,一个列族中一个列的所有数据
        >get 'users','xiaoming','info:age'
 
更新记录
>put 'users','xiaoming','info:age' ,'29'
>get 'users','xiaoming','info:age'
>put 'users','xiaoming','info:age' ,'30'
>get 'users','xiaoming','info:age'
获取单元格数据的版本数据
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}
获取单元格数据的某个版本数据
    〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}
全表扫描
    >scan 'users'
 
删除xiaoming值的'info:age'字段
    >delete 'users','xiaoming','info:age'
    >get 'users','xiaoming'
删除整行
    >deleteall 'users','xiaoming'
统计表的行数
    >count 'users'
清空表
    >truncate 'users'
 
 
 
 
 





posted @ 2016-04-13 11:11  nwpulisz  阅读(374)  评论(0编辑  收藏  举报