HBase集群搭建实验(2)_伪分布式部署(使用内置ZooKeeper)

 HBase伪分布式模式
1)HBase使用HDFS存储数据,所有进程运行在同一个节点上,不同的HBase或ZooKeeper守护进程运行在不同的JVM(Java Virtual Machine)中

2)使用HBase内置的ZooKeeper
3)比较适用于在硬件配置一般的用于开发的计算机上运行,适用于HBase的开发和测试环境

 

实验前提:HBase伪分布式部署依赖于Hadoop伪分布式部署,本实验紧接Hadoop伪分布式实验,在Hadoop伪分布式部署完成并运行成功的基础上,继续进行Hbase伪分布式部署实验

实验目标:单台Linux虚拟机主机上部署伪分布式数据库HBase ,用于教学演示

实验环境:    虚拟机VirtualBox     操作系统 Centos7    Hadoop版本  hadoop-2.6.0-cdh5.7.0    Hbase版本 hbase-1.2.0-cdh5.7.0.tar.gz    由于HBase依赖于HDFS,所以选择安装包版本时必须注意HBase和Hadoop的版本兼容性,官方发布的HBase各版本对JDK和Hadoop各版本的支持情况参考(版本兼容性):https://blog.csdn.net/e_wsq/article/details/81365029
集群规划:  无需复制虚拟机,直接利用Hadoop伪分布式的单台主机hadoop完成Hbase伪分布式部署

主机IP 主机名 集群角色(进程名称)
192.168.56.20 hadoop NameNode DataNode SecondaryNameNode
HMaster HRegionServer
HQuorumPeer(HBase自带的ZooKeeper进程)

〇 首先要部署完成并运行成功Hadoop伪分布式集群

1)启动伪分布式集群中的单台主机hadoop

2)在win7用XSHELL远程登录Linux,注意VirtualBox主机网络管理器的虚拟网卡IP(192.168.56.1)地址和虚拟机Linux处于一个网段

3)上传HBase安装包到Linux的/root目录,解压缩hbase-1.2.0-cdh5.7.0.tar.gz安装包到指定目录/usr/local

tar -zxvf /root/hbase-1.2.0-cdh5.7.0.tar.gz -C /usr/local/        解压缩到/usr/local目录

4)设置HBase环境变量并使之生效

vi /etc/profile   在配置文件profile的末尾增加以下内容:

# hbase
export HBASE_HOME=/usr/local/hbase-1.2.0-cdh5.7.0
export PATH=$PATH:$HBASE_HOME/bin

执行source /etc/profile命令使得HBase环境变量生效

5)关闭防火墙firewall和SeLinux

执行关闭防火墙命令 systemctl disable firewalld      执行关闭SeLinux命令 setenforce 0 

6)检查hadoop主机到自己的SSH免密登录(特别重要)

执行ssh hadoop命令,检查免密登录是否成功,免密登录成功后,必须输入exit退出并返回原会话,以免搞混

7)修改HBase的配置文件(关键步骤)

cd /usr/local/hbase-1.2.0-cdh5.7.0/conf    切换到HBase的配置文件所在目录

a)先修改配置文件hbase-env.sh

vi hbase-env.sh 修改以下配置参数:

export JAVA_HOME=/usr/local/java/jdk1.8

export HBASE_MANAGES_ZK=true                # 使用HBase内置的Zookeeper!!!

执行source hbase-env.sh命令使得HBase配置参数生效

b)修改配置文件hbase-site.xml

vi hbase-site.xml修改以下参数:

之间增加蓝色字体配置参数


 
    hbase.rootdir
    hdfs://hadoop:8020/hbase
 

 
    hbase.zookeeper.property.dataDir
    /root/hbase/zookeeper
 

 
    hbase.cluster.distributed
    true
 

参数说明:

hbase.cluster.distributed:HBase群集的模式,对于单机模式值为false,对于伪分布式和完全分布式模式值为true。如果为false,将在同一个JVM中运行所有HBase和ZooKeeper守护进程

hbase.rootdir:用于指定HBase数据在HDFS的存储路径

hbase.zookeeper.property.dataDir:用于指定HBase自带的ZooKeeper存储数据的本地路径

c)修改regionservers文件

vi regionservers

删除原有行,新添加一行:

hadoop

8)创建ZooKeeper存放数据的目录

cd /root 切换到root目录

执行命令mkdir -p /root/hbase/zookeeper 在root目录下创建两级子目录hbase/zookeeper

路径/root/hbase/zookeeper和hbase-site.xml文件中的hbase.zookeeper.property.dataDir参数值相同

注意:经过实际测试发现,以上三级子目录zookeeper 可以不事先创建,只需要在/root目录下执行mkdir hbase命令创建二级子目录hbase即可,启动HBase时会自动创建三级子目录zookeeper

9)启动HDFS

执行start-dfs.sh脚本命令启动HDFS

10)启动HBase

执行start-hbase.sh脚本命令启动HBase

11)执行java进程查看命令jps,hadoop主机出现以下进程,说明HDFSHBase自带的ZooKeeper以及HBase都已启动成功:

[root@hadoop ~]# jps
3985 Jps
3075 HRegionServer
2276 DataNode
2184 NameNode

2936 HMaster
2860 HQuorumPeer
2462 SecondaryNameNode

12)在win7下,用chrome浏览器访问HBase自带的web配置网站 http://192.168.56.20:60010 ,能出现如下页面说明访问成功:

HBase集群搭建实验(2)_伪分布式部署(使用内置ZooKeeper)_第1张图片

14)测试一下HBase是否成功连接HDFS

测试方法:如果HBase成功连接HDFS,会在HDFS上创建目录路径/hbase

执行hadoop fs -ls /命令,检查HDFS根目录下是否存在hbase子目录

15)执行命令hbase shell进入hbase的shell命令行环境

16)HBase Shell命令的简单测试

  执行命令create 'testTable', 'testFamily'     创建一张表testTable,包含一个列族testFamily 

 执行命令list  列出HBase中的所有表

执行命令describe 'testTable'   描述表testTable的属性信息

你可能感兴趣的:(HBase集群搭建实验(2)_伪分布式部署(使用内置ZooKeeper))