`
小网客
  • 浏览: 1243777 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

"HBase_介绍和HBase云存储"分享总结

 
阅读更多

概述:

此分享包括:HBase_介绍和HBase云存储的汇总

 

汇总点:

HBASE基于HDFS存储;
Hbase实时随机读写;
Hbase是线性扩展,自动分表,支持MapReduce
Hbase Client使用HBase的RPC机制与Master和RegionServer进行通信,对于管理类操作,Client与Master进行RPC;对于数据读写类操作,Client与RegionServer进行RPC。
Client工作过程:从ZooKeeper上获取元数据和ROOT信息;在元数据中查找Region信息;与Region获取数据;缓存元数据相关信息;
Hbase的Master非单节点的,利用选举机制保证一个主Master;
Hbase的Master在功能上主要负责Table和Region的管理工作;
RegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据同时向主服务器(Master Server)上报自己的状;
HRegion对应了Table中的一个Region,HRegion中由多个HStore组成。每个HStore对应了Table中的一个Column Family的存储;
HBase存储的核心Store由两部分组成:一部分是MemStore,另一部分是StoreFiles;
MemStore->StoreFile(Compact)->StoreFile->Region Split;
Master通过分发遗留HLog,然后RegionServer通过感知HLog并Replay HLog来保障数据不丢失;
Hbase的行的写操作是始终是“原子”的,只对一行上“锁”;
Hbase适用场景:储海量数据(TB级以上);对大数据集合进行高效的随机访问(主键查询);对于结构化和非结构化的数据存储同时不涉及jion操作;
Hbase的Cell为:Row,Column,Version和Value;
Hbase的操作:PUT,DELETE,GET和SCAN;
Region操作:Flush MemStore,Compact,Major Compact和split;
使用技巧:Column Family的数量最好为1;Key的设计避免单调递增,最小化;最小化Column;
MR操作时:Region数=Mapper数;Region数=Reducer数和Reducer写Hfile,再 BulkLoad;
Hbase开发调优:尽可能是使用Bulk Load;Put使用客户端Cache和Scan使用Cache/Batch;
HBASE部署中内存分配:RegionServer 12GB(MemStore  <=40%,HFile DataIndex 和BlockCache <=20%),Master 4GB和ZooKeeper 1GB;
Region管理:预创建Region,Region的大小(hbase.hregion.max.filesize=256MB,1GB,4GB,手动Split,交错负载);
Region合并:hbase.hstore.compactionThreshold=3,hbase.hstore.blockingStoreFiles=7(阻塞,超时),hbase.hstore.compaction.max=10和hbase.hregion.majorcompaction=86400,0;
MemStore Flush:hbase.regionserver.global.memstore.upperLimit和hbase.regionserver.global.memstore.lowerLimit;

 

运维调优:

Java GC:
JVM GC调整(ParNewGC+CMS)
Full GC-10s/GB
MemStore本地分配(2MB,减少碎片)
LZO压缩:
压缩单位为Block
提高性能
并发数调整:
hbase.regionserver.handler.count
Cache设置:
hfile.block.cache.size

 

更多详情参见附件

0
2
分享到:
评论

相关推荐

    \"HBase_介绍和HBase云存储\"分享总结

    在本分享总结中,我们将深入探讨“HBase_介绍”和“HBase云存储”的相关主题,这将涵盖HBase的基础知识、其架构原理、在云计算环境中的应用以及相关的源码解析。首先,我们从HBase的基本概念和功能入手。 HBase是一...

    HBase_SI_--_实现HBase_ACID的理论

    本文将详细介绍HBase_SI的实现原理和技术特点。 #### 二、HBase_SI概述 HBase_SI是一种旨在为HBase提供ACID特性的框架。ACID即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。...

    Hadoop_and_Hbase_搭建_云存储

    【Hadoop 和 Hbase 搭建云存储概述】 Hadoop 是一个开源的分布式计算框架,主要用于处理和存储大规模数据。Hadoop 文件系统(HDFS)是其核心组件,它是一个分布式文件系统,旨在处理PB级别的数据。HDFS 的设计哲学...

    hbase_libJar包

    总结,`hbase_libJar包`是HBase的核心组成部分,包含了运行HBase所需的全部库文件。在Linux环境下,正确配置`HBASE_HOME`环境变量是确保HBase能正常启动和运行的关键步骤。同时,配置其他相关环境变量和`hbase-site....

    hbase_coprocessor_hbase_coprocessorjava_源码

    这个压缩包“hbase_coprocessor_hbase_coprocessorjava_源码”显然包含了用Java API实现的HBase Coprocessor的相关代码和工具类,这将帮助我们深入理解如何在HBase中使用Coprocessors。 首先,Coprocessor是HBase中...

    hbase_hive_thrift_php

    总结一下,"hbase_hive_thrift_php"这个主题涵盖了如何使用PHP通过Thrift与HBase和Hive进行交互,以实现大数据的存储、管理和Web应用中的查询。这种技术栈对于需要在PHP环境中处理大规模数据的项目非常有价值。

    HBase_Client_Api_Guide

    ### HBase客户端API指南知识点详解 #### 一、HBase数据读写流程 ...以上内容涵盖了HBase客户端API的基础知识及使用技巧,通过掌握这些知识,开发者可以更加高效地使用HBase进行数据的存储和管理。

    apache_hbase_reference_guide-3.0.0-SNAPSHOT

    HBase 提供了高可靠性、高性能、易扩展和面向列的存储模型,适用于大数据存储和处理。 【标题】中的 "apache_hbase_reference_guide-3.0.0-SNAPSHOT" 指出了这是一份关于 HBase 版本 3.0.0 的快照版官方参考指南。...

    hbasetestlocal_hbase_

    总结来说,"hbasetestlocal_hbase_"相关的知识主要涉及HBase的基础操作,包括创建和删除表,以及数据的插入和查询。这些基本操作是理解HBase工作原理和进行实际开发的关键步骤。通过学习和实践这些操作,开发者能够...

    springboot_hbase_kafka.rar

    在本项目中,"springboot_hbase_kafka.rar" 是一个大数据存储解决方案,它整合了Spring Boot、HBase和Kafka三个关键组件。这个项目旨在提供一个高效且可扩展的数据处理架构,其中Spring Boot用于应用开发,HBase作为...

    HBase_Secondary_Index

    描述部分提到的“hbase构建二级索引指南,详细介绍了hbase的二级索引的实现机制”指出了文章将深入介绍如何在HBase中实现二级索引,包括它的原理和构建方法。实现机制涉及的可能包括索引数据结构的选择、索引的创建...

    apache_hbase_reference_guide(官网).pdf

    通过阅读官方的参考指南,开发者可以了解如何在自己的项目中有效地使用HBase进行数据存储和处理,以及如何对HBase集群进行管理和优化。随着对文档的深入学习,开发者将能够掌握HBase在各种应用场合下的最佳实践和...

    utils_hbase_

    - 列族(Column Family)操作:列族是HBase存储数据的基本单位,每个表由一个或多个列族组成。工具类可能包含创建、删除列族的辅助方法。 - 列限定符(Column Qualifier)操作:列限定符是列族内的具体列,用于...

    apache_hbase_reference_guide.pdf

    Apache HBase是一个开源的非关系型分布式数据库(NoSQL),它是Apache软件基金会的Hadoop项目的一...此外,文档还提供了如何安全地部署和管理HBase集群的指导,确保了在使用HBase存储和处理数据时的灵活性和安全性。

    hbase详解,apache_hbase_reference_guide

    Apache HBase是一个开源、非关系型、分布式存储系统,它是Apache Software Foundation下的Hadoop项目的一...通过这份指南,用户可以构建、管理和优化运行HBase的环境,并充分利用其在大数据存储和分析方面的强大功能。

    hadoop_hbase_pig

    Hadoop是一个开源框架,主要用于处理和存储大量数据,而HBase是建立在Hadoop之上的分布式列式数据库,Pig则是一个用于大数据分析的高级脚本语言。接下来,我们将深入探讨这三个关键组件。 1. **Hadoop**: Hadoop...

    geomesa-hbase安装包

    总结,Geomesa-HBase为处理和分析海量地理空间数据提供了强大的平台,结合HBase的分布式特性,能够高效地处理实时数据流和复杂的查询需求。通过正确安装和配置,开发者可以充分利用这一工具,提升地理空间数据应用的...

    hbase_常用配置参数_以及学习笔记讲解_以及各种原理图.zip

    在这个“hbase_常用配置参数_以及学习笔记讲解_以及各种原理图.zip”压缩包中,包含了一系列关于HBase关键概念、配置参数和原理的资料,通过以下几部分来详细介绍这些内容: 1. **HBase架构原理**: HBase采用列式...

    HBase_官方文档(中文版本).zip

    1. 分布式特性:HBase利用Hadoop的HDFS作为底层存储,通过Region Server将数据分布在多台服务器上,实现了高可用性和可扩展性。文档可能包含如何管理和调整Region Server的配置以优化性能。 2. 列族和表:HBase的...

Global site tag (gtag.js) - Google Analytics