上一篇文章我们从HBase的特点、架构和数据结构出发介绍了一下HBase,本文我们来看看如何部署HBase以及它的命令行操作。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~
目录
一、HBase安装部署
1.1 环境准备
因为HBase依赖于Zookeeper,所以在安装部署HBase之前,必须启动Zookeeper集群。
1.2 安装包准备
1、下载安装包
首先需要去官网下载对应版本的安装包,点击这里进行下载。
2、上传并解压下载的安装包
[root@master software]# tar -zxvf ./hbase-1.3.1-bin.tar.gz -C ../modules/
3、重命名解压的安装包
[root@master modules]# mv hbase-1.3.1 hbase
1.3 修改配置文件
取到hbase的conf页面下修改相关的配置文件。
1、修改hbase-env.sh
(1)修改jdk路径
export JAVA_HOME=/opt/modules/jdk1.8.0_144
(2)关闭HBase自带的Zookeeper,使用集群的Zookeeper
export HBASE_MANAGES_ZK=false
(3)注释掉如下内容
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
2、修改hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave01:2181,slave02:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/opt/modules/zookeeper-3.4.10/zkData</value>
</property>
</configuration>
3、修改regionservers
master
slave01
slave02
4、将hadoop的配置文件软链接到hbase中
ln -s /opt/modules/hadoop-2.7.2/etc/hadoop/core-site.xml /opt/modules/hbase/conf/core-site.xml
ln -s /opt/modules/hadoop-2.7.2/etc/hadoop/hdfs-site.xml /opt/modules/hbase/conf/hdfs-site.xml
1.4 分发
将配置好的hbase分发到其他集群服务器上。
[root@master modules]# xsync hbase/
1.5 启动HBase
启动HBase之前首先要启动Zookeeper集群,其次要保持集群机器之间的时间处于同步状态,HBase对时间要求非常高。
使用如下命令启动HBase:
[root@master hbase]# bin/start-hbase.sh
启动成功后,会发现HMaster和HRegionServer的进程:
也可以在浏览器端输入下面的地址进行查看:
http://master:16010/
至此,HBase部署完成。
二、命令行操作
1、进入命令行
bin/hbase shell
2、查看帮助
help
3、查看当前数据库中有哪些表
list
4、创建表
create 'people','info'
5、向表中插入数据
put 'people','1001','info:sex','male'
put 'people','1001','info:age','18'
put 'people','1002','info:name','Janna'
put 'people','1002','info:sex','female'
put 'people','1002','info:age','20'
6、扫描表数据
scan 'people'
scan 'people',{STARTROW => '1001', STOPROW => '1001'}
scan 'people',{STARTROW => '1001'}
7、查看表结构
desc 'people'
8、更新数据
put 'people','1001','info:name','Nick'
put 'people','1001','info:age','100'
9、查看指定行或指定列的数据
get 'people','1001'
get 'people','1001','info:name'
10、统计表数据行数
count 'people'
11、删除数据
1、删除某rowkey的全部数据:
deleteall 'people','1001'
2、删除某rowkey的某一列数据:
delete 'people','1002','info:sex'
12、清空表数据
truncate 'people'
从上图可以看出,清空表的操作实际上是先disable之后再执行truncate操作。
13、变更表信息
alter 'people',{NAME=>'info',VERSIONS=>3}
get 'people','1001',{COLUMN=>'info:name',VERSIONS=>3}
14、删除表
删除表的时候需要注意,需要先把表disable再删除,如下:
disable 'people'
drop 'people'
本文到此已经接近尾声了,本文主要讲述了如何部署HBase以及HBase的一些基本的命令行操作。你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题~