Java1.7
l 官网地址:http://hbase.apache.org/
l 下载地址:http://mirrors.hust.edu.cn/apache/hbase/
l 下载版本:hbase-1.1.2-bin.tar.gz
(一) 将下载的HBase拷贝到ubuntu上
(二) 在/usr/local下新建文件夹HBase将HBase安装包拷贝到该目录下,解压,最后删除安装包
解压:
删除安装包,查看解压后的文件:
(三) 配置HBase的环境变量
使配置信息立即生效:
source /etc/profile
(四) 启动hadoop
由于HBase是基于Hadoop实现的,所以要先启动hadoop
查看hadoop运行的进程
start-hbase.sh
(一) 创建表
进入HBaseshell
建一个test表,包含一个名为data的列,表和列族属性都默认
(二) 插入数据并查看表
(三) 删除表
先禁用表,在删除表
如果在hbase的配置文件hbase-site.xml中没有设置的话,数据存储在/tmp文件下,但是每次从新启动主机后tmp下的数据会丢失,所以单机模式只方便用来调试和开发
stop-hbase.sh
(一) 停止hbase
如果hbase是启动状态先停止hbase
stop-hbase.sh
(二) 配置hbase的配置文件
打开/usr/local/hbase/hbase-1.1.2/conf/hbase-site.xml
将其内容修改为如下:
(三) 设置hbase环境变量
打开/usr/local/hbase/hbase-1.1.2/conf/hbase-env.sh
添加Java的环境变量
(四) 启动hbase并查看进程
start-hbase.xml
从图中我们可以看出多了HRegionServer, HQuorumPeer两个进程
hadoop fs -ls /
进入hbase shell
(一) 创建表
create ‘test’,‘data’
(二) 插入数据
put ‘test’,‘row1’,‘data:1’,'data'
(三) 删除表
stop-hbase.sh
(一) 节点部署说明
节点名称 |
Master |
ZooKeeper |
RegionServer |
master |
yes |
yes |
no |
slave1 |
backup |
yes |
yes |
slave2 |
no |
yes |
yes |
master节点:master为hbase的主节点,部署了zookeepr
slave1节点:为备份节点,部署了zookeeper和RegionServer
slave1节点:部署了zookeeper和RegionServer
(二) 配置ssh
因为我们在配置hadoop的时候已经配置了ssh,这里略过ssh的配置。
(三) 仿照前面的部署过程,将hbase的压缩包分别拷贝到slave1和slave2上
(四) 关闭master的RegionServer
打开/usr/local/hbase/hbase-1.1.2/conf/regionservers
删除localhost,并且添加slave1和slave2的hostname或者ip
(五) 设置slave1为backup节点
打开slave1节点/usr/local/hbase/hbase-1.1.2/conf/下新建一个文件backup-masters在里面输入slave1的hostname(slave1)
在back-masters中添加slave1
修改文件所属组:为staff(不设置会造成备份节点的hmaster启动不了)
(六) 配置zookeeper(Hbase 自带的)
打开/usr/local/hbase/hbase-1.1.2/conf/hbase-site.xml
(七) 使用scp命令将master的配置信息发送到slave1和slave2
将slave1节点conf下的backup-master.sh发送到master和slave2上
将/etc/profile文件发送到slave1和slave2上
(八) 完全分布式下启动habse
使用jps查看master,slave1,slave2的hmaster,hregionserver,HQuorumPeer是否启动,如果没有直接启动,如果有先停止hbase或者使用kill -9 进程id。
先启动hadoop:
master的进程:
slave1的进程:
slave2的进程:
启动hbase:
start-hbase.sh
查看进程:
master节点的进程:
slave1节点的进程:
slave2节点的进程:
链接 |
说明 |
http://localhost:50070/explorer.html#/hbase |
Hbase在hdfs上生成的hbase目录,用于存储数据 |
http://master:16010/master-status |
Hbase master的管理界面 |
http://slave1:16010/master-status |
Hbase 备份master的管理界面 |
http://master:16010/zk.jsp |
zookpeer界面 |
http://slave1:16030/rs-status |
region服务页面 |
http://slave2:16030/rs-status |
|
注意:上述的master分为两类,链接中的master:16010为主机名称,说明中的master为主节点 |
建立一张test表
插入数据
查看表
(一) 先在zookeeper上查看当前活动的hbase 管理节点
从图可以看出当前活动的hbase管理节点为master主机上的hbase
(二) 杀死master上的hbase管理节点(杀死hmaster进程)
我们在访问http://master:16010/zk.jsp已经访问不同
这时hbase的管理已经移动slave1上我们访问http://slave1:16010/zk.jsp
从图可以看出当前活动的hbase管理节点转移到了slave1
stop-hbase.sh