2

什么是HBase?

HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。

HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。

它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。

人们可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问。

准备工作

环境

JDK:1.8  
Hadoop Release:2.7.4  
centos:7.3  

node1(master)  主机: 192.168.252.121  
node2(salve)  从机: 192.168.252.122  
node3(salve)  从机: 192.168.252.123  

node4(ZooKeeper)  主机: 192.168.252.124

依赖环境

HBase 依赖于 Hadoop 环境,搭建 HBase 之前首先需要搭建好 Hadoop 的完全集群环境

Hadoop

Hadoop-2.7.4 集群快速搭建

ZooKeeper 随意选择

CentOs7.3 搭建 ZooKeeper-3.4.9 单机服务

CentOs7.3 搭建 ZooKeeper-3.4.9 Cluster 集群服务

安装

下载解压

在 ndoe1 上操作

su hadoop
cd /home/hadoop/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
tar -xzf hbase-1.3.1-bin.tar.gz

环境变量

如果是对所有的用户都生效就修改vi /etc/profile 文件
如果只针对当前用户生效就修改 vi ~/.bahsrc 文件

sudo vi /etc/profile
#Hbase
export PATH=${HBASE_HOME}/bin:$PATH
export HBASE_HOME=/home/hadoop/hbase-1.3.1/

使环境变量生效,运行 source /etc/profile使/etc/profile文件生效

配置 HBase

进入HBase配置文件目录

cd /home/hadoop/hbase-1.3.1/conf/

编辑 hadoop-env.sh 文件,找到 JAVA_HOME 改为 JDK 的安装目录

vi hbase-env.sh
export JAVA_HOME=/lib/jvm
export HBASE_MANAGES_ZK=false

其实HBase里面自带了一个ZooKeeper,而这个属性的值就是是否使用这个自带的ZooKeeper,很显然我这里要使用自己的ZooKeeper,所以修改为false。

修改 hbase-site.xml

打开 core-site.xml文件并对其进行编辑,如下图所示。

vi hbase-site.xml
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://node1:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>node4:2181</value>
    </property>
</configuration>

配置集群

修改 regionservers 文件

删除locahost,添加所有hbase节点的主机名

[root@node1 conf]# cat regionservers 
node2
node3

复制节点

将 hbase-1.3.1 文件夹重打包后复制到其他子节点

cd /home/hadoop/

tar zcvf hbase.tar.gz hbase-1.3.1
scp hbase.tar.gz hadoop@node2:/home/hadoop/
scp hbase.tar.gz hadoop@node3:/home/hadoop/

在其他子节点 解压

tar -zxvf hbase.tar.gz

集群操作

启动 Hbase

关闭防火墙

systemctl stop firewalld.service

确保 Hadoop,ZooKeeper 已经正常启动,执行以下命令

cd /home/hadoop/hbase-1.3.1/bin
./start-hbase.sh

图片描述

查看进程服务

查看启动进程,缺少以下任一进程都表示出错

node1 (master)

$ jps
2528 NameNode            #hadoop master进程
2720 SecondaryNameNode
2872 ResourceManager
3357 HMaster            #hbase master进程
3151 JobHistoryServer

node2,node3 (salve)

$ jps
2528 NodeManager
2417 DataNode
2687 HRegionServer        #hbase msalve进程

node3 (ZooKeeper)

$ jps
2285 QuorumPeerMain         # ZooKeeper进程 

查看端口占用情况

netstat -tnlp | grep java

停止 Hbase

cd /home/hadoop/hbase-1.3.1/bin
./stop-hbase.sh

或者 jps 查看进程kill

Contact

  • 作者:鹏磊
  • 出处:http://www.ymq.io
  • Email:admin@souyunku.com
  • 版权归作者所有,转载请注明出处
  • Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享

关注公众号-搜云库


架构师专栏
6.2k 声望7k 粉丝