HBase学习笔记-HBase性能研究(1)】的更多相关文章

使用Java API与HBase集群交互时,需要构建HTable对象,使用该对象提供的方法来进行插入/删除/查询等操作.要创建HTable对象,首先要创建一个带有HBase集群信息的配置对象Configuration conf,其一般创建方法如下: Configuration conf = HBaseConfiguration.create(); //设置HBase集群的IP和端口 conf.set("hbase.zookeeper.quorum", "XX.XXX.X.XX…
这两天把要前几天的知识点回顾一下,接下来我会用自己对知识点的理解来写一些东西 一.知识点回顾 1.hbase集群启动:$>start-hbase.sh ===>hbase-daemon.sh start hmaster   +  hbase-daemon.sh start regionserver    hbase集群关闭:$>stop-hbase.sh   ===>hbase-daemon.sh staop hmaster +hbase-daemon.sh stop region…
HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集群和一个节点的hbase.安装过程如下. 1.简介 2.安装环境准备 3.具体安装过程 1.简介 ========= hbase是hadoop生态系统中的一个软件,是基于hadoop的数据库软件. 2.安装环境准备 =============== hbase安装之前必须安装hadoop,所以在安装h…
场景设计-学习笔记之性能误区 by:授客 QQ:1033553122 场景假设: 每个事务仅包含一次请求,执行10000个并发用户数 性能误区: 每秒并发用户数=每秒向服务器提交请求数 详细解答: 每秒并发用户数,是从客户端的视角定义的,而每秒请求数,是从服务器的视角定义的. 请求,从客户端-->网络-->服务器,中间的数据传递是需要时间的,所以10000个并发用户不一定同时到达服务器端,即每秒并发用户数 != 每秒并发请求数 此外,如果服务端接收到的请求数太多,超过请求队列的长度,服务器忙不…
HBase1. hbase.id记录了集群的唯一标识:hbase.version记录了文件格式的版本号2. split和.corrupt目录在日志分裂过程中使用,以便保存一些中间结果和损坏的日志在表目录下,为该表的每一个region单独创建一个目录,目录的名字为region name的MD5哈希值3. 二级索引方案:a.Coprocessor b.由客户端发起对于主表和索引表的Put.Delete操作的双重操作 Split和Conpact优化 快速写入 1.写入前 预分Region 2.数据写入…
此文的目的: 1.重点理解Hbase的整体工作机制 2.熟悉编程api,能够用来写程序 1.  什么是HBASE 1.1.   概念特性 HBASE是一个数据库----可以提供数据的实时随机读写 HBASE与mysql.oralce.db2.sqlserver等关系型数据库不同,它是一个NoSQL数据库(非关系型数据库) * Hbase的表模型与关系型数据库的表模型不同: * Hbase的表没有固定的字段定义: * Hbase的表中每行存储的都是一些key-value对 * Hbase的表中有列…
      说在前面,本文部分内容来源于社区官网经过适度翻译,部分根据经验总结,部分是抄袭网络博文,(不一一列举引用,在此致歉)一并列在一起,本文的目的,希望能总结出一些有用的,应该注意到的东西,基本思路是先提出一个话题,在此话题内,把相关联的东西加进去,而不是单独分出章节单独介绍,虽然条理性欠差,但有利于后期根据关键词查找.       Apache HBase 是Hadoop database的简称,hbase 是一个分布式,可扩展的,面向大数据存储的数据库.      HBase 基本概念…
说在前面,本文部分内容来源于社区官网经过适度翻译,部分根据经验总结,部分是抄袭网络博文,(不一一列举引用,在此致歉)一并列在一起,本文的目的,希望能总结出一些有用的,应该注意到的东西,基本思路是先提出一个话题,在此话题内,把相关联的东西加进去,而不是单独分出章节单独介绍,虽然条理性欠差, 但有利于后期根据关键词查找. HBase 基本概念 1.region region 是部分数据,所以是所有数据的一个自己,但region包括完整的行,所以region 是行为单位 表的一个子集. 每个regio…
HBase简介 HBase概念 HBase的原型是谷歌的Bigtable论文 HBase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC上搭建起大规模结构化存储集群 HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据 HBase特点 海量存储 HBase适合存储PB级的海量数据,在PB级别的数据以及采用廉价机器存储的情况下,能在几十到百毫秒内返回数据 列式存储 此处的列式存储指的是列族存储…
HBase学习之BulkLoad bulkload的学习以后再写文章. 参考资料: 1.https://blog.csdn.net/shixiaoguo90/article/details/78038462,使用hbase自带的importtsv实现bulkload,重点参考,hbase自带的bulkload只有在hbase1.0版本中有,2.0版本中没有,参考这篇文章已经成功实现了bulkload了. 2.https://blog.csdn.net/embracejava/article/de…
HBase学习指南之HBase原理和Shell使用 参考资料: 1.https://www.cnblogs.com/nexiyi/p/hbase_shell.html,hbase shell…
HBase版本:0.97 1.Get Gets实在Scan的基础上实现的. 2.联合查询(Join) HBase是否支持联合是一个网上常问问题.简单来说 : 不支持.至少不像传统RDBMS那样支持. 但并不表示等价联合不能在应用程序中支持,只是必须自己做. 两种方法,要么指示要写到HBase的数据,要么查询表并在应用或MapReduce代码中做联合. 3.列族 一个表存在多列族,注意基数(如, 行数). 如果列族A有100万行,列族B有10亿行,列族A可能被分散到很多很多区(及区服务器).这导致…
      Hbase 是一个分布式的.面向列的开源数据库,其实现是建立在google 的bigTable 理论之上,并基于hadoop HDFS文件系统.     Hbase不同于一般的关系型数据库(RDBMS).是一种适用于非结构化数据存储的数据库,且Hbase是基于列的数据库.      下面的内容基于我们已经安装好hadoop.hbase.     一.hbase shell 介绍      hbase shell是用户和hbase 交互的接口之一,当然还可以通过其它方式比如java a…
hbase的配置信息,在hbase-site.xml里面有详细说明. 可以按照需要查询相关的配置. <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- /** * Copyright 2009 The Apache Software Foundation * * Licensed to the A…
HBase安装和部署 使用的HBase版本是1.2.4 1.安装步骤(默认hdfs已安装好) # 下载并解压安装包 cd tools/ tar -zxf hbase-1.2.4-bin.tar.gz   # 重命名为hbase mv hbase-1.2.4 hbase # 将hadoop目录下的hdfs-site.xml 和 core-stie.xml拷贝到 hbase下的conf 目录中 cd /home/work/tools/hbase/conf cp /home/work/tools/ha…
这里介绍使用java api来访问和操作HBase,例如create.delete.select.update等操作. 1.HBase配置 配置HBase使用的zookeeper集群地址和端口. private static Configuration configuration; static { configuration = HBaseConfiguration.create(); configuration.set("hbase.zookeeper.property.clientPort…
需要分别从Oracle和文本文件往HBase中导入数据,这里介绍几种数据导入方案. 1.使用importTSV导入HBase importTSV支持增量导入.新数据插入,已存在数据则修改. 1.1.首先将待导入文本test_import.txt放到hdfs集群 文本格式如下(从网上找的虚拟话单数据).逗号分隔,共13个字段,其中第1个字段作为rowkey. 1,12026546272,2013/10/19,20:52,33分18秒,被叫,13727310234,北京市,省际,0,32.28,0.…
进入Hbase的安装目录,启动Hbase bin/start-hbase.sh 打开shell命令行模式 bin/hbase shell 关闭Hbase bin/stop-hbase.sh 一个cell的值,取决于Row,Column family,Column Qualifier和Timestamp Hbase表结构 1. HBase中创建表,这里面的name,sex,age,dept,course都是column-family create 'student','name','sex','a…
1.使用hbase shell连接hbase 2.输入help可以查看帮助 3.输入list查看当前hbase中的所有表 4.使用create创建表test 其中test是表名,cf是列族.该表只创建了一个列族. 5.使用list查看表test的信息 6.使用put往表test中添加数据 格式:put ‘<tablename>’, ‘<rowkey>’, ‘<field>’, ‘<value>’ 上面插入了两条记录.row_key1和row_key2是主键,…
1.HBase的配置 还是以前配置的集群,见:http://www.cnblogs.com/DarrenChan/p/6493373.html 我们约定:weekend03和weekend04放HMaster,weekend05.weekend06和weekend07放HRegionServer 1.上传hbase安装包 2.解压 3.配置hbase集群,要修改3个文件(首先zk集群已经安装好了) 注意:要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/c…
Hbase 是一个分布式的.面向列的开源数据库,其实现是建立在google 的bigTable 理论之上,并基于hadoop HDFS文件系统.     Hbase不同于一般的关系型数据库(RDBMS).是一种适用于非结构化数据存储的数据库,且Hbase是基于列的数据库.      下面的内容基于我们已经安装好hadoop.hbase.     一.hbase shell 介绍      hbase shell是用户和hbase 交互的接口之一,当然还可以通过其它方式比如java api等  …
最近在狂啃hadoop的书籍,这部<hbase:权威指南>就进入我的视野里面了,啃吧,因为是英文的书籍,有些个人理解不对的地方,欢迎各位拍砖. HDFS和Hbase配置同步 hbase的配置中有一些和hdfs关联的配置,当hdfs中修改了,但是hbase中修改了,hbase中是不会知道的,比如dfs.replication,有时候我们想增加备份的数量,在hdfs中设置为5了,但是hbase中默认为3,这样hbase还是只保存3份. 那么有什么方法可以使他们的配置文件同步,有三种方法: (1)在…
在逻辑上,HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列. 但从 HBase 的底层物理存储结构(K-V)来看,HBase 更像是一个 multi-dimensional map. 1.HBase的数据模型 1.1 HBase 逻辑结构 先从一个逻辑结构模型图开始看起: 之前介绍了一些HBase的数据模型的概念,现在来系统的梳理一下: Table(表):一个表由一个或者多个列族构成.数据的属性.比如:name.age.TTL(超时时间)等等都在列族里边定义.定义完列族的…
最近做项目接触到了HDFS.mapreduce以及Hbase,有了实战机会,今天打算将这些知识好好总结下,以备不时之需.首先从Hbase开始吧. Hbase是建立在HDFS上的分布式数据库,下图是Hbase表的模型: Hbase这个数据库其实和传统关系数据库还是有很多类似之处,而不是像mongodb,memcached以及redis完全脱离了表的概念,只不过hbase是以列为中心的数据库,而传统关系数据库则是以行为中心的数据库.不过hbase这个列并非我们传统意义的列,而是列族.列族是hbase…
HBaseConfiguration HBaseConfiguration是每一个hbase client都会使用到的对象,它代表的是HBase配置信息.它有两种构造方式: public HBaseConfiguration() public HBaseConfiguration(final Configuration c) 默认的构造方式会尝试从hbase-default.xml和hbase-site.xml中读取配置.如果classpath没有这两个文件,就需要你自己设置配置. Config…
1.what:什么是HBase HBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储. HBase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群. HBase的目标是存储并处理大型的数据,更具体来说是仅需使用普通的硬件配置,就能够处理由成千上万的行和列所组成的大型数据.[非大勿用] HBase是Google Bigtable的…
定义: HBase是一个分布式的.面向列的开源数据库,HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务.  逻辑视图: 用户对hbase中的数据在逻辑上通过rowkey,column family, cell ,timestamp进行管理 Row Key 与nosql数据库们一样,row key是用来检索记录的主键.访问hbase table中…
转载请标注原链接:http://www.cnblogs.com/xczyd/p/5577124.html 客户在使用HBase的时候,经常会抱怨说写入太慢,并发上不去等等.从前我遇到这种情况,一般都二话不说,直接去看HBase集群的负载,看看有什么性能瓶颈等等. 某老司机说,且慢,先看看用户怎么写的客户端访问HBase集群的代码. 于是花了一些时间去看. 不看不知道,一看就吓尿.客户(也包括我们自己的实施)写出来的客户端,很多时候存在很多低级错误,比如: (1)滥用sychronize: (2)…
一.前言 在生产环境使用HBase过程中,随着数据量的不断增加,查询HBase数据变得越来越慢,对于业务来说是不可用的,需要对读性能进行优化 二.问题定位 从hbase监控指标来看,发现FullGC次数频繁,大家都知道FullGC对系统的影响很大,会使系统资源都耗在GC上,其它性能就会影响,另一个异常是Compact队列一直在阻塞,需要compact的文件过多又不无法及时得到compact,这个就导致小文件越来越多得不到合并影响读性能. 三.问题解决 初步定位到原因之后,考虑从以下几个方面进行优…
1.什么是HBase HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群.HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具. 它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表j…