美文网首页大数据
Hadoop踩坑-Hbase篇

Hadoop踩坑-Hbase篇

作者: 林桉 | 来源:发表于2018-09-14 00:17 被阅读82次

Hadoop环境支持

hadoop 是Apache 软件基金会旗下的一个开源分布式计算平台。以hadoop 文件系统(hdfs)和 mapreduce (google 提出的mapreduce计算框架)为核心的分布式基础架构。


image.png
  • hadoop 架构


    image.png
  • hadoop 部署结构


    image.png

    在Hadoop的系统中,会有一台master,主要负责NameNode的工作以及JobTracker的工作。JobTracker的主要职责就是启动、跟踪和调度各个Slave的任务执行。还会有多台slave,每一台slave通常具有DataNode的功能并负责TaskTracker的工作。TaskTracker根据应用要求来结合本地数据执行Map任务以及Reduce任务。

  • mapreduce
    mapreduce 是一个分布式的编程模型,允许用户在不了解分布式底层细节的情况下,写出并行的分布式程序,完成海量数据的处理。


    image.png

    先是 Map(任务的分解) 过程,然后是 Reduce(结果的汇总) 过程。
    Map就是将一个任务分解成多个任务,Reduce就是将分解后多任务分别处理,并将结果汇总为最终结果。


    image.png
  • MapReduce流程


    image.png

    在Map之前,可能还有对输入数据的Split过程以保证任务并行效率,在Map之后可能还有Shuffle过程来提高Reduce的效率以及减小数据传输的压力。

HDFS搭建

hdfs 是一个高性能的文件系统。具有高容错性,可靠性,高伸缩性等优点。下图为HDFS系统架构图,主要有三个角色,Client、NameNode、DataNode。

image.png
Namenode:namenode是一个名称节点,是hdfs的大脑,它维护着文件系统的目录树。
Secondarynode:第二个名字节点,用于备份,一旦namenode挂掉,那么secondarynode就补上。
Datanode:data节点用来存储数据。�
Client:客户机是用来读写数据。
写流程
读流程

Zookeeper搭建

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper以Fast Paxos算法为基础,实现同步服务、配置维护和命名服务等分布式应用。
ZooKeeper 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig) 的管理员。


image.png

HBase主要用ZooKeeper来实现HMaster选举与主备切换、系统容错、RootRegion管理、Region状态管理和分布式SplitWAL任务管理等。

Hbase搭建

HBase是一种构建在HDFS之上的分布式、面向列、多版本、非关系型的数据库。在需要实时读写、随机访问超大规模数据集时,可以使用HBase。HBase自底层设计开始即聚焦于各种可伸缩性问题:表可以很“高”,有数十亿个数据行;也可以很“宽”,有数百万个列,使系统有可能提高高效的数据结构的序列化、存储和检索。


image.png

HBase是一个分布式的架构,除去底层存储的HDFS外,HBase本身从功能上可以分为三块:Zookeeper群、Master群和RegionServer群。


image.png
image.png
  • HBase架构图


    image.png

    从HBase的架构图上可以看出,HBase中的组件包括Client、Zookeeper、HMaster、HRegionServer、HRegion、Store、MemStore、StoreFile、HFile、Hlog。


    image.png
  • Data model
    image.png
    Row Key�与 NoSQL 数据库一样,Row Key 是用来检索记录的主键。
    列族�HBase 表中的每个列都归属于某个列族。必须在使用表之前定义。
    Cell�时间戳HBase 中通过 Row 和 Columns 确定的一个存储单元称为 Cell。每个 Cell 都保存着同一份数据的多个版本。
  • HBase的Region寻址


    image.png
  • HBase的Region数据写入


    image.png
  • HBase的Region数据Flush


    image.png

    HRegionServer的一次更新操作,使得整个内存使用超过警戒线。凡是超过这个值的情况,会直接触发FlushThread,从全局的HRegion中选择一个,将其MemStore刷入hdfs,从而保证rs全局的memstore容量在可控的范围。

小白学习 无关利益

感谢:

学习笔记一:hadoop单节点搭建 - 简书

Hadoop:启动与停止命令 - CSDN博客

zookeeper 启动出错问题排查 - 四维空间 - ITeye博客

0基础搭建Hadoop大数据处理-集群安装 - 简书

HBase Getting Started(入门指南) - 简书

HBase之——单节点安装 - CSDN博客 节点冲突

一条数据的HBase之旅,简明HBase入门教程-开篇 - 简书启动HBase Shell

Spark单机部署听风铃的声音新浪博客

学习笔记二:spark单节点搭建 - 简书

spark生态圈整体技术架构图-成都加米谷大数据培训分享 - 简书

『 Spark 』1. spark 简介 - 简书

相关文章

  • Hadoop踩坑-Hbase篇

    Hadoop环境支持 hadoop 是Apache 软件基金会旗下的一个开源分布式计算平台。以hadoop 文件系...

  • hbase 1.4.13 安装部署

    认识HBase HBase介绍 HBase = Hadoop database,Hadoop数据库开源数据库官网:...

  • hbase-mutator踩坑

    spark-streaming消费kafka数据,采用buffermutator写hbase踩坑记 场景 otte...

  • Hadoop组件--分布式数据库Hbase

    摘要:1. HBase概述 先来看下HBase在Hadoop生态中的位置 HBase是Apache Hadoop⽣...

  • 3、HBase Shell操作

    基本操作 进入HBase客户端命令行[hadoop@hadoop-100 hbase]$ cd bin/hbase...

  • hadoop开发环境&&集群搭建

    hadoop搭建流程 下载hadoop 由于之后需要搭建hbase,查看hbase兼容hadoop版本,所以选择H...

  • Hbase

    Hbase依赖hadoop,首先安装hadoop,参考xxx 下载http://hbase.apache.org/...

  • 2022-10-30 EMR相关知识

    1. 参考文献 EMR(hadoop/hbase/phoenix夸集群数据迁移采坑记录) - 简书 (jiansh...

  • HBase环境搭建

    首先确保已经安装Hadoop,Hadoop的安装请参考Hadoop环境搭建 安装软件 HBase下载地址HBase...

  • 使用docker安装hbase2.1.4

    版本确定 hadoop hbase与hadoop兼容表:https://hbase.apache.org/book...

网友评论

    本文标题:Hadoop踩坑-Hbase篇

    本文链接:https://www.haomeiwen.com/subject/wlkngftx.html