本文详述了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没有更新操作,覆盖原数据即可实现更新操作。