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

时间:2024-04-14 14:30:25

 HBase伪分布式模式
1)所有进程运行在同一个节点上,不同进程运行在不同的JVM当中

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的版本兼容性
集群规划:  无需复制虚拟机,直接利用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

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集群 

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

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

在<configuration> </configuration>之间增加蓝色字体配置参数

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop:8020/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/root/hbase/zookeeper</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>

</configuration>

参数说明:

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 hbase/zookeeper 在root目录下创建两级子目录hbase/zookeeper

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

9)启动HDFS

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

10)启动HBase

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

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

[[email protected] ~]# 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集群搭建实验_伪分布式部署(使用内置ZooKeeper)

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

15)HBase Shell命令的简单测试

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

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

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