HBase安装过程

1).上传,解压,重命名,修改环境变量/etc/profile

2).修改 hbase-env.sh 文件

export JAVA_HOME=/usr/java/jdk1.7.0_27 //Java 安装路径
export HBASE_CLASSPATH=/hadoop/hbase-0.96.2 //HBase 类路径
export HBASE_MANAGES_ZK=true //由 HBase 自己负责启动和关闭 Zookeeper

3).编辑 hbase-site.xml 文件

<property>
    <name>hbase.rootdir</name>
    //hbase 中数据存放的HDFS根路径
    <value>hdfs://hadoop01:9000/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    //hbase 是否安装在分布式环境中
    <value>true</value>
</property>
<property>
    //指定 Hbase 的 ZK 节点位置,由于上述已指定 Hbase 自己管理 ZK
    <name>hbase.zookeeper.quorum</name>
    <value>hadoop01</value>
</property>
<property>
    <name>dfs.replication</name>
    //伪分布环境,副本数为 1
    <value>1</value>
</property>

4).(可选)文件regionservers

//这个文件指定了 regionservers,即子节点所在的位置
hadoop01(即本机主机名或IP)

5).启动 HBase

******启动 hbase 之前,确保 hadoop 是运行正常的,并且可以写入文件*******

启动脚本:start-hbase.sh
验证方式:(1)执行 jps,发现新增加了 3 个 java 进程,分别是 HMaster、HRegionServer、HQuorumPeer
(2)使用浏览器访问 http://hadoop01:60010

6).shell 操作

命令:hbase shell 进入 shell 操作的终端。

***对于在使用 SecureCRT 在 shell 终端无法使用删除键的问题:在 secureCRT 中,点击【选项】【会话选项】【终端】【仿真】,右边的终端选择 linux,在 hbase shell 中如输入出错,按住 Ctrl+删除键 即可删除!

7).基本操作

 创建表  Create

--Create '表名称','列族1','列族2','列族N'

--【注意结尾处没有;】【RowKey 是天然自带的,不用手动指定

 查看表信息  List 和 Describe

 

 插入数据  Put

--Put '表名','行键Row Key','列族:列','列值'
put 'users','xiaoming','user_id:id','007' --批量插入,每行结尾木有; 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'

 全表扫描  Scan

两个RowKey:‘xiaoming’和'zhangyifeng'对应两行记录

 查询一个 RowKey 中所有数据(即一行数据)  Get

 查询一个RowKey中一个列族的所有数据

 

 查询一个RowKey的列族中一个列的所有数据

 同时查询两个列族的所有数据(两种方法)

注意:第二种方法中的COLUMN关键字大小写敏感

 同时查询两个列族中两个列的所有数据(两种方法)

 更新表中的数据  Put

由于hdfs只支持写入和追加操作,所以hbase对于修改数据,只能进行准加覆盖操作

 获取单元格Cell数据的时间戳

对于操作VERSIONS=>2也只返回一行数据,这是由于在创建表时,没有显示指定VERSIONS版本个数,则会设置为默认值1。通过命令describe ‘users’可以发现VERSION=>’1’。

 通过TIMESTAMP读取数据

 删除某行数据  Delete 

deleteall 'users','xiaoming'

  删除某一列的数据  Delete 

这里和SQL有区别SQL中删除某一列的话整行数据都会被删除。而HBase则不然,它可以删除指定的列而不影响其它列的数据

 修改表的结构:删除某一列族  Alter

 全表扫描  Scan

红圈表示此表中现在只有两条记录,因为只有两个RowKey: ’xiaoming’ + ‘zhangyifei’

这时我们发现,表中的”user_id”这个列族已经被删掉,并且它对应的值‘007’也一并被删除---这是DDL的操作

 统计表的行数  Count

 清空表的数据  Truncat

这个指令实际包含三个操作:disable + drop + create

 判断一个表是否存在  exists

exit是退出HBase shell,切记

 判断表是否enable或disable  is_enabled 'users'

删除表Drop TableName之前,必须先使其disable:disable TableName 不然报错

posted @ 2015-09-09 21:38  skyl夜  阅读(365)  评论(0编辑  收藏  举报