Hbase集群部署及shell操作

本文详述了Hbase集群的部署。

集群部署

1.将安装包上传到集群并解压

scp hbase-0.99.2-bin.tar.gz mini1:/root/apps/

tar -zxvf hbase-0.99.2-bin.tar.gz -C install/

mv hbase-0.99.2 hbase

2.配置环境变量

vim /etc/profile
export HBASE_HOME=/root/apps/install/hbase
export PATH=$PATH:$HBASE_HOME/bin

3.修改配置文件

cd /root/apps/install/hbase/conf

hbase-env.sh

export JAVA_HOME=/usr/local/jdk1.7.0_45
export JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HBASE_MANAGES_ZK=false

hbase-site.xml

<configuration>
<property>
<name>hbase.master</name>
<value>mini1:60000</value>
</property>
<property>
#hbase主节点之间最大时间间隔
<name>hbase.master.maxclockskew</name> 
<value>180000</value>
</property>
<property>
#数据保存在hdfs上的路径
<name>hbase.rootdir</name>
<value>hdfs://mini1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name> 
<value>true</value>
</property>
<property>
#zookeeper集群所在节点
<name>hbase.zookeeper.quorum</name>
<value>mini1,mini2,mini3</value>
</property>
<property>
#hbase内存中的数据临时存放位置
<name>hbase.zookeeper.property.dataDir</name>
<value>/root/apps/install/hbase/tmp/zookeeper</value>
</property>
</configuration>

regionservers

#从节点所在机器的ip地址
mini2
mini3
mini4

4.将hbase和环境变量文件分发到其他机器上

scp -r /root/apps/install/hbase mini2:/root/apps/install/
scp -r /root/apps/install/hbase mini3:/root/apps/install/
scp -r /root/apps/install/hbase mini4:/root/apps/install/

scp /etc/profile mini2:/etc/
source /etc/profile
scp /etc/profile mini3:/etc/
source /etc/profile
scp /etc/profile mini4:/etc/
source /etc/profile

5.启动

#启动hbase之前需要先启动hadoop集群和zookeeper集群
在mini1机器上
start-all.sh 启动hdfs和yarn

分别在三台机器上激动zookeeper
zkSercer.sh start

启动hbase集群
start-hbase.sh

Hbase操作

1.登录shell,退出

$HBASE_HOME/bin/hbase shell
quit

2.创建表

#create '表名', '列族名1','列族名2','列族名N'
create 'user','info1','info2'

3.查看所有表

list

4.查看表结构

#describe '表名'
describe 'user'

5.判断表是否存在

exists 'user'

6.是否禁用或启用表

is_enabled 'user'
is_disabled 'user'

7.添加记录

#put '表名','rowkey','列族:列名','列值'
put 'user','1','info1:name','zhangsan'

8.查看记录

#get '表名','rowkey'
get 'user','1'

9.查看表中的记录总数

#一个cell表示一个记录
count 'user'

10.获取某个列族下的数据

#get '表名','rowkey','列族'
get 'user','1','info1'

11.获取某个列族下的某个列

#get '表名','rowkey','列族:列’
get 'user','1','info1:age'

12.删除某个列数据

#delete  ‘表名’ ,‘rowkey’ , ‘列族:列'
delete 'user','1','info1:age'

13.删除一条记录

#deleteall '表名','rowkey'
deleteall 'user','2'

14.删除表

先要屏蔽该表,才能对该表进行删除
第一步 disable ‘表名’ ,第二步  drop '表名'

15.清空表

truncate '表名'

16.查看所有记录

scan "表名"  

17.查看某个表中某个列的所有数据

scan 'user',{COLUMNS => 'info1:age'}

18.更新操作

hbase没有更新操作,覆盖原数据即可实现更新操作。
posted @ 2018-06-08 14:20  py小杰  阅读(405)  评论(0编辑  收藏  举报