当前位置:   article > 正文

hadoop之旅9-centerOS7 : hbase集群环境搭建

hbase集群启动centeros

今天教大家如何在centerOS7上搭建hbase的集群环境,首先给大家介绍一下hbase

hbase是什么

HBase是建立在Hadoop文件系统之上的分布式面向列的数据库。它是一个开源项目,是横向扩展的。 HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据。它利用了Hadoop的文件系统(HDFS)提供的容错能力。 它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。 人们可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问

HBase 和 HDFS

HDFSHBase
HDFS是适于存储大容量文件的分布式文件系统HBase是建立在HDFS之上的数据库。
HDFS不支持快速单独记录查找HBase提供在较大的表快速查找
它提供了高延迟批量处理;没有批处理概念它提供了数十亿条记录低延迟访问单个行记录(随机存取)。
它提供的数据只能顺序访问HBase内部使用哈希表和提供随机接入,并且其存储索引,可将在HDFS文件中的数据进行快速查找。

hbase的数据模型

Row Key: 行键,Table的主键,Table中的记录按照Row Key排序

Timestamp: 时间戳,每次数据操作对应的时间戳,可以看作是数据的version number

Column Family:列簇,Table在水平方向有一个或者多个Column Family组成,一个Column Family中可以由任意多个Column组成,即Column Family支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式存储,用户需要自行进行类型转换。

好了,说了这么多大家可能光看概念也是云里雾里,所以就直接带大家搭建环境,做一些简单的应用来体会hbase的用法了。

环境搭建

首先需要有hbase的软件包,可以自行下载,我给大家提供的是hbase-1.3.1版本,点击下载

其次把下载的软件放入centerOS7系统下的自己的目录下,我的目录是在/home/mmcc下。然后进入到该目录解压文件

  1. cd /home/mmcc
  2. tar -zxvf hbase-1.3.1-bin.tar.gz
  3. 复制代码

然后开始配置hbase-env.sh文件,进入hbase根目录

  1. vi /conf/hbase-env.sh //编辑环境变量配置脚本
  2. export JAVA_HOME=/home/mmcc/jdk1.8 //配置java环境变量,把井号去掉换上自己的jdk路径
  3. export HBASE_MANAGES_ZK=true //表示使用自带的zookeeper
  4. export HBASE_PID_DIR=/home/mmcc/hbase-1.3.1/hbase_tmp //修改pid文件的保存路径
  5. 复制代码

其次再配置hbse-site.xml文件

  1. vi /conf/hbase-site.xml
  2. <property>
  3. <name>hbase.rootdir</name> //设置hbase在hdfs上根目录
  4. <value>hdfs://master:9000/hbase</value>
  5. </property>
  6. <property>
  7. <name>hbase.cluster.distributed</name> //是否开启集群
  8. <value>true</value>
  9. </property>
  10. <property>
  11. <name>hbase.zookeeper.quorum</name> // 设置zookeeper集群节点
  12. <value>master,slave1,slave2</value>
  13. </property>
  14. <property>
  15. <name>hbase.tmp.dir</name> //设置临时文件目录
  16. <value>/home/mmcc/hbase-1.3.1/data/tmp</value>
  17. </property>
  18. <property> //设置web管理界面端口
  19. <name>hbase.master.info.port</name>
  20. <value>60010</value>
  21. </property>
  22. 复制代码

设置zookeeper集群节点时,如果zookeeper单独设置了端口 则加上master:port ,默认是master:2181,默认的可以不写

然后配置hbase的集群节点服务

  1. vi /conf/regionservers
  2. slave1
  3. slave2
  4. 复制代码

把zookeeper的服务节点都配置进去

到这一步master节点的hbase的环境已经配置好了,但是这只是单机版,我们需要做到一个集群,可以通过以下方式把hbase直接复制到不同的节点机上

  1. scp -r /home/mmcc/hbase-1.3.1 slave1/slave1节点的ip:/home/mmcc
  2. scp -r /home/mmcc/hbase-1.3.1 slave2/slave2节点的ip:/home/mmcc
  3. 复制代码

/hbase-1.3.1目录下的所有文件复制到slave1节点上的/home/mmcc目录下,由于咱是通过克隆的方式创建的虚拟机,所以其实文件目录都是一样的

然后将hbase的bin目录配置到环境变量里,每个节点都配置好

  1. vi /etc/profile
  2. HBASE_HOME=/home/mmcc/hbase-1.3.1
  3. PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$HBASE_HOME/bin:$PATH:.
  4. source /etc/profile //使环境变量生效
  5. 复制代码

启动集群

  1. start-hbase.sh //前提是已经启动了hadoop集群服务
  2. 复制代码

内部会启动一个自带的zookeeper集群,同时启动master和节点服务.启动之后通过jps查看一下当前的服务

可以发现,集群已经启动成功了。

现在咱是通过自带的zookeeper作为协调服务的,所以启动步骤如下

  1. 启动hadoop集群 start-all.sh
  2. 启动hbase集群 start-hbase.sh

停止步骤

  1. 停止hbase集群 stop-hbase.sh
  2. 停止hadoop集群 stop-all.sh

自定义zookeeper

首先在配置hbase-env.sh文件时,把export HBASE_MANAGES_ZK=false设置为false,表示使用自定义的zookeeper的集群。同时如果自己单独配置了zookeeper集群的端口,不是默认的2181。则在hbase-site.xml中配置zookeeper集群时需要带上端口

  1. <property>
  2. <name>hbase.zookeeper.quorum</name> // 设置zookeeper集群节点
  3. <value>master:port,slave1:port,slave2:port</value>
  4. </property>
  5. 复制代码

使用自定义的zookeeper的集群启动顺序

  1. 启动hadoop集群
  2. 启动zk集群(zookeeper)
  3. 启动hbase集群

停止步骤

  1. 停止hbase集群
  2. 停止zk集群(zookeeper)
  3. 停止hadoop集群

关于zk集群的搭建和使用在后面章节会讲到

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/352765
推荐阅读
相关标签
  

闽ICP备14008679号