大数据入门之Hadoop生态系统(12) -- HBase环境搭建和简单使用

1.前置要求

Hadoop版本2.5.0+(这里我们使用Hadoop-2.6.0-cdh5.7.0,具体搭建请移步大数据入门之Hadoop生态系统(3) -- Hadoop和HDFS环境搭建)。

2.安装部署

安装Zookeeper

前面说过了Zookeeper的作用:RegionServer会注册到Zookeeper中,提供RegionServer的状态信息,使得Master能够随时感知到每个RegionServer的健康状态。而且Zookeeper也避免了Master的单点问题。

所以我们要先下载安装Zookeeper,http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.7.0.tar.gz。

解压之后,配置一下zookeeper的环境变量。export ZK_HOME和export PATH。别忘了source 文件。

我们进入zookeeper的conf目录下,“cp zoo_sample.cfg zoo.cfg”,“vi zoo.cfg”,修改如下。dataDir=/home/Kiku/app/tmp/zk
这里的目录就是我们自己新建的存放zookeeper临时文件的目录。

然后我们,进入zookeeper的bin目录下,启动“./zkServer.sh start”,然后我们“jps”查看一下进程,发现有一个“QuorumPeerMain”进程,就说明启动成功了。

安装HBase

还是要先下载HBase,http://archive.cloudera.com/cdh5/cdh/5/hbase-1.2.0-cdh5.7.0.tar.gz。

然后相应的环境变量。进入conf目录下,“vi hbase-env.sh”,添加JAVA_HOME的路径。

export JAVA_HOME=/usr/java/jdk1.8.0_171
export HBASE_MANAGES_ZK=false

然后修改这里,设置为false,是由我们自己来管理zookeeper实例,而不是交由hbase来管理。

然后执行“vi hbase-site.xml”,修改如下。


	hbase.rootdir
	hdfs://hadoop000:8020/hbase
	

	hbase.cluster.distributed
	true


	hbase.zookeeper.quorum
	hadoop000:2181

hbase.rootdir:因为HBase的数据也是存放在HDFS之上的,所以要配置一下存放的根路径。

hbase.cluster.distributed:设置为true,表示是分布式。

hbase.zookeeper.quorum:因为要和zookeeper交互,所以要配置zookeeper的地址,2181是默认端口。

执行“vi regionservers”:如果设置了主机名,就把里面的localhost改成主机名即可。

3.启动HBase

在启动HBase之前,我们要先启动HDFS和Zookeeper,启动成功后。进入hbase的bin目录下,执行“./start-hbase.sh”。启动成功之后,我们用jps查看一下进程,如下图所示。

大数据入门之Hadoop生态系统(12) -- HBase环境搭建和简单使用_第1张图片

之后,执行“./hbase shell”,进入HBase数据库,我们做一些测试。

4.HBase的简单使用

创建一张表,名为“test”,列蔟为“info” ===> create 'test', 'info'

查看test表的内容 ===> scan 'test'

查看test表的结构 ===> describe 'test'

增加数据 ===> put 'test', '0001', 'info:username', 'XQ'  这里,‘test’是表名,‘0001’是RowKey(相当于主键),‘info:username’是info这个列蔟下的username字段(动态添加的),‘XQ’就是username字段对应的值。可以用查询语句验证一下。

增加数据 ===> put 'test', '0001', 'info:age', 20',这里我们给第一个人加上了age这个列。

查看test表是否可用 ===> is_enabled 'test'

禁用test表 ===> disable 'test'

删除test表 ===> drop 'test'  删除之前,必须设置这个表是不可用的。

查询test表的数据条数 ===> count 'test' 这里是RowKey(相当于主键)的条数

查询test表中某一列的数据 ===> get 'test', '0001', 'info:username' 这里是查询第一个人的username字段

删除test表中的某一行的某一列数据 ===> delete 'test', '0001', 'info:age'

清空test表中所有数据 ===> truncate 'test'

想了解更多HBase命令,请移步HBase 常用Shell命令 

 

你可能感兴趣的:(大数据,HBase)