安装HBase(使用hbase自带zookpeer)



1       前提条件

Java1.7

2       下载HBase

l  官网地址:http://hbase.apache.org/

l  下载地址:http://mirrors.hust.edu.cn/apache/hbase/


l  下载版本:hbase-1.1.2-bin.tar.gz


3       安装HBase

(一)           将下载的HBase拷贝到ubuntu上


(二)           在/usr/local下新建文件夹HBase将HBase安装包拷贝到该目录下,解压,最后删除安装包


解压:


删除安装包,查看解压后的文件:


(三)           配置HBase的环境变量


使配置信息立即生效:

source /etc/profile

(四)           启动hadoop

由于HBase是基于Hadoop实现的,所以要先启动hadoop

查看hadoop运行的进程


4       单机模式启动HBase(HBase数据存储在本地文件系统)

start-hbase.sh


4.1   测试

(一)           创建表

进入HBaseshell


建一个test表,包含一个名为data的列,表和列族属性都默认


(二)           插入数据并查看表


(三)           删除表

先禁用表,在删除表


4.2   查看数据存储位置

如果在hbase的配置文件hbase-site.xml中没有设置的话,数据存储在/tmp文件下,但是每次从新启动主机后tmp下的数据会丢失,所以单机模式只方便用来调试和开发


4.3   关闭单机模式HBase

stop-hbase.sh

5       伪分布式启动运行HBase

5.1   部署

(一)           停止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两个进程

5.2   查看数据在hadoop的hdfs上的存储位置

hadoop  fs  -ls   /


5.3   测试

进入hbase shell


(一)           创建表

create ‘test’,‘data’


(二)           插入数据

put ‘test’,‘row1’,‘data:1’,'data'


(三)           删除表


5.4   关闭hbase

stop-hbase.sh


6       配置完全分布式hbase

6.1   部署

(一)           节点部署说明

节点名称

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节点的进程:


6.2   hbase相关的用户界面

链接

说明

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为主节点

 

6.3   查看数据存储位置

6.4   测试数据能否正常存储

建立一张test表


插入数据


查看表


6.5   测试备份节点能否正常工作

(一)           先在zookeeper上查看当前活动的hbase 管理节点


从图可以看出当前活动的hbase管理节点为master主机上的hbase

(二)           杀死master上的hbase管理节点(杀死hmaster进程)


我们在访问http://master:16010/zk.jsp已经访问不同

这时hbase的管理已经移动slave1上我们访问http://slave1:16010/zk.jsp


从图可以看出当前活动的hbase管理节点转移到了slave1

6.6   关闭hbase

stop-hbase.sh


你可能感兴趣的:(云计算)