我们都知道传统型关系数据库有很多,像Oracle、SQL Server、MySQL、DB2等,随着数据爆炸式发展,关系型数据库已经无法满足日常的数据分析服务了,Apache开源项目为我们提供了分布式数据库的解决方案–HBase。
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。
一、准备
官网对JDK和Hadoop版本的支持情况如下:
结合之前搭建的大数据平台环境(大数据:平台搭建(hadoop+spark+zeppelin),最终我们的软件环境版本如下:
软件 相应版本
操作系统 CentOS 6.7
JAVA JDK 1.8.0.131
Hadoop Hadoop 2.7.3
Zookeeper HBase自带
HBase HBase1.2.4
二、环境配置
解压文件
解压文件到指定目录:tar -zxvf hbase-1.2.4-bin.tar.gz -C /home
配置环境变量/etc/profile
#hbase environment
export HBASE_HOME=/home/hbase
export PATH=PATH: PATH:PATH:HBASE_HOME/bin
配置完成后需要执行source /etc/profile使配置文件马上生效。
修改hbase配置文件
3.1 hbase-env.sh
hbase-env.sh主要是跟系统环境相关的配置,主要配置两个变量JAVA和Zookeeper,因为HBase运行的时候需要指定JAVA环境,同时HBase既可以用自身集成的Zookeeper,又可以用外部搭建的Zookeeper环境,主要通过HBASE_MANAGES_ZK来空值。
#The java implementation to use. Java 1.7+ required.
export JAVA_HOME=/usr/java/jdk1.8.0_131
export HBASE_MANAGES_ZK=true
3.2 hbase-site.xml
hbase-site.xml主要是跟hbase本身相关的配置,就像hadoop的配置思路一样,配置hbase时我们需要指定hdfs目录、工作模式、工作端口、zookeeper和存储目录。这里主要讲两个参数。
hbase.zookeeper.quorum:指定使用zookeeper的主机地址,必须是奇数个 。
hbase.zookeeper.property.dataDir:zookeeper的属性数据存储目录,默认是/tmp但是重启服务器会清空。
3.3 regionservers
配置hbase的工作节点列表,类似hadoop配置datanode节点一样,格式是每行记录一个。
3.4 拷贝文件夹
将配置好的整个hbase文件夹拷贝到各工作节点上,
scp -r hbase/ root@worker1:/home
scp -r hbase/ root@worker2:/home
同时将/etc/profile环境变量配置文件也拷贝到相应的节点上,执行source /etc/profile命令使环境立即生效。
三、验证
进入${HBASE_HOME}/bin目录启动HBase程序。
查看进程
执行jps命令,在master节点有HMaster进程,slave节点上有HQuorumPeer和HRegionServer进程。
web页面访问
hbase进程正常启动之后,可以通过http://master:16010访问,界面如下:
执行简单任务
在shell输入hbase shell命令,进入hbase的命令行交互界面。
创建一个名为bigdata的表,这个表只有一个 column family 为test,同时插入3个值,最后通过scan命令浏览整个表。
清理环境,删除表,通过disable命令取消表,再通过drop删除表。
引用
官网资料
完全分布式安装hbase,使用hbase自带的zookeeper
Hadoop集群之 ZooKeeper和Hbase环境搭建
个人超全hbase集群搭建过程
————————————————
版权声明:本文为CSDN博主「敬谦」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiaxianba/article/details/89392726