使用hbase小结】的更多相关文章

背景 hbase中一张表的rowkey定义为时间戳+字符串 需求 根据时间戳和列簇中某列的值为"abc",导出一天内的数据到excel中. 使用FilterList FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL); SingleColumnValueFilter filter=new SingleColumnValueFilter("info".getBytes(),…
构建在HDFS之上的分布式,面向列的存储系统,使用zookeeper做协同服务,在需要实时读写和随机访问超大规模数据集的时候使用 缺点:非关系型,不支持SQL,数据类型单一(字符串,无类型),之支持单行事物 优点:大(上亿行,百万列),面向列/列簇的存储和控制权限,稀疏存储(对于NULL列不占空间),无模式,多版本   Hbase将数据(storeFile-Hfile二进制流形式)存储在HDFS的数据块儿上,Hbase HRegin server集群中所有region的数据在服务器启动时都被打开…
脚本使用小结: 1.开启集群,start-hbase.sh 2.关闭集群,stop-hbase.sh 3.开启/关闭所有的regionserver.zookeeper,hbase-daemons.sh start/stop regionserver/zookeeper 4.开启/关闭单个regionserver.zookeeper,hbase-daemon.sh start/stop regionserver/zookeeper 5.开启/关闭master hbase-daemon.sh sta…
客户端API:基础 HBase的主要客户端接口是由org.apache.hadoop.hbase.client包中的HTable类提供的,通过这个类,用户可以完成向HBase存储和检索数据,以及删除无效数据之类的操作. 通常在正常负载下和常规操作下,客户端读操作不会受到其他修改数据的客户端影响,因为它们之间的冲突可以忽略不计.但是,当允许客户端需要同时修改同一行数据时就会产生问题.所以,用户应当尽量使用批量处理(batch)更新来减少单独操作同一行数据的次数. (如果是实时系统,则需要加上syn…
1.好久没用log4j了,转到logback好多年了,hbase程序运行时,报缺少log4j配置,那么,就转去logback吧(以下的XXX表示版本号). 原先lib包里面有log4j-XXX.jar.slf4j-api-XXX.jar.slf4j-log4j12-XXX.jar,干掉log4j-XXX.jar和slf4j-log4j12-XXX.jar,加入jcl-over-slf4j-XXX.jar,log4j-over-slf4j-XXX.jar.logback-classic-XXX.j…
1.创建test,如果存在先删除 hbase(main)::> disable 'test' row(s) in 1.4250 seconds hbase(main)::> drop 'test' row(s) in 0.5540 seconds hbase(main)::> create 'test','grade', 'course' row(s) in 0.7450 seconds => Hbase::Table - test 2.查看数据表 hbase(main)::>…
目录: 1,背景 2,GC 3,hbase cache 4,compaction 5,其他 1,背景 项目组中,hbase主要用来备份mysql数据库中的表.主要通过接入mysql binlog,经storm存储到hbase.由于是实时接入binlog写入,写的压力不是很大,主要是晚上离线计算的时候,需要将hbase中的表同步到HDFS中,这个时候对hbase的读性能以及全表扫描性能要求有些高,以尽量较少数据导入时间.由于之前时间仓促,以及对hbase了解有限等原因,hbase这块问题多多.当前…
1:什么是HBase HBase是一个高可靠性,高性能,面向列,可伸缩的分布式数据库,提供海量数据存储功能,一个结构化的分布式存储系统,不同于一般的关系型数据库,它适合半结构化和非结构化数据存储. 2:HBase表的特点 大:一个表中可以有数十亿行,上百万列 无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列 面向列:面向列存储和权限控制 稀疏:空列并不占用存储空间,可以设计的非常稀疏 数据多版本:每个单元中的数据可以有多个版本,默认情况…
1. Hbase读写优化 写: 批量写.异步批量提交.多线程并发写.使用BulkLoad写入.表优化(压缩算法.预分区.合理的rowkey设计.合理关闭WAL或异步WAL) SKIP_WAL:只写缓存,不写HLog日志.这种方式因为只写内存,因此可以极大的提升写入性能,但是数据有丢失的风险.在实际应用过程中并不建议设置此等级,除非确认不要求数据的可靠性. ASYNC_WAL:异步将数据写入HLog日志中. SYNC_WAL:同步将数据写入日志文件中,需要注意的是数据只是被写入文件系统中,并没有真…
HBase 的表结构 2016-10-13 杜亦舒 HBase 是一个NoSQL数据库,用于处理海量数据,可以支持10亿行百万列的大表,下面就了解一下数据是如何存放在HBase表中的 关系型数据库的表结构 为了更好的理解HBase表的思路,先回顾一下关系数据库中表的处理方式 例如有一个用户表user_info,有字段:id.name.tel,表名和字段需要在建表时指定 create table user_info ( id 类型, name 类型, tel 类型 ) 然后插入两条数据 inser…
hadoop和hbase节点添加和单独重启 有时候hadoop或hbase集群运行时间久了后,某些节点就会失效,这个时候如果不想重启整个集群(这种情况在很多情况下已经不被允许),这个时候可以单独重启失效节点.HADOOP: hadoop中重启单节点的方法和增加新节点其实是一样的.1.我们先看下如何了解hadoop机器的情况,可以用命令: hadoop dfsadmin -report 查看集群容量情况,很多情况下失效节点也可以从这里了解到(比如失效节点容量显示为0). 也可以用web查看:htt…
网址: http://www.cnblogs.com/panfeng412/archive/2012/12/24/applications-scenario-summary-of-compression-algorithms.html GZIP.LZO.Zippy/Snappy是常用的几种压缩算法,各自有其特点,因此适用的应用场景也不尽相同.这里结合相关工程实践的情况,做一次小结. 压缩算法的比较 以下是Google几年前发布的一组测试数据(数据有些老了,有人近期做过测试的话希望能共享出来):…
背景: 某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询.HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级 的快 速检索,对于多字段的组合查询却无能为力.针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Solr的 HBase多条件查询方案进行测试和验证. 原理: 基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条…
版权声明:本文由熊训德原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/221 来源:腾云阁 https://www.qcloud.com/community Hbase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群.本文档用于说明hbase的wal简单原理以及从源码的角度分析一个"写"请求是如何到达wal,wal又会做哪些请求.…
版权声明:本文由熊训德原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/257 来源:腾云阁 https://www.qcloud.com/community Hbase的WAL机制是保证hbase使用lsm树存储模型把随机写转化成顺序写,并从内存read数据,从而提高大规模读写效率的关键一环.wal的多生产者单消费者的线程模型让wal的写入变得安全而高效. 在文章<WAL在RegionServer调用过程>中从代码层面…
HBase系列: 博客地址:http://www.cnblogs.com/panfeng412/tag/HBase/ 技术专题文章: HBase中MVCC的实现机制及应用情况 HBase在单Column和多Column情况下批量Put的性能对比分析 集群应用及运维经验小结 HBase一次慢查询请求的问题排查与解决过程 HBase Thrift 接口的一些使用问题及相关注意事项 HBase集群出现NotServingRegionException问题的排查及解决方法 HBase解决Region S…
Phoenix - Hbase与SQL 2016-10-23 杜亦舒 Phoenix是什么 简单来说,Phoenix 是一个可以让我们通过SQL的方式操作HBase数据库的框架. HBase是一个NoSQL数据库,shell客户端只支持一些简单的操作,而且看起来容易晕. 例如下面这个图,返回的是一张表的所有数据: 是不是很难看,而且如果对HBase进行复杂查询的话,只能通过HBase的原生API编写查询程序,这样就比较麻烦. 使用Phoenix的话,就可以使用SQL来查询,便捷高效,同时还可以为…
HBase隶属于hadoop生态系统,它参考了谷歌的BigTable建模,实现的编程语言为 Java, 建立在hdfs之上,提供高可靠性.高性能.列存储.可伸缩.实时读写的数据库系统.它仅能通过主键(row key)和主键的range来检索数据,主要用来存储非结构化和半结构化的松散数据.与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力.Hbase数据库中的表一般有这样的特点: 大: 一个表可以有上亿行,上百万列 面向列:  面向列(族)的存储…
对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用. ====Hive是什么?Apache Hive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库.Hive可以看作是用户编程接口,它本身不存储和计算数据:它依赖于HDFS(Hadoop分布式文件系统)和MapReduce(一种编程模型,映射与化简:用于大数据并行运算).其对HDFS的操作类似于SQL—名为HQL,…
Hbase源码分析:Hbase UI中Requests Per Second的具体含义 让运维加监控,被问到Requests Per Second(见下图)的具体含义是什么?我一时竟回答不上来,虽然大概知道它是指每秒Region Server的请求数,但是具体是怎么算的呢,不清楚.于是决定通过研究源码深入了解下.下面便记录了这个过程. 1,先在代码库中全局搜索Requests Per Second关键字,发现在几个jamon结尾的文件找到了.于是google了一下,这个到底是什么东东,发现是一个…
对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库.Hive可以看作是用户编程接口,它本身不存储和计算数据:它依赖于HDFS(Hadoop分布式文件系统)和MapReduce(一种编程模型,映射与化简:用于大数据并行运算).其对HDFS的操作类似于SQL—名为HQL,它提…
 Hive是什么? Apache Hive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库.Hive可以看作是用户编程接口,它本身不存储和计算数据:它依赖于HDFS(Hadoop分布式文件系统)和MapReduce(一种编程模型,映射与化简:用于大数据并行运算).其对HDFS的操作类似于SQL—名为HQL,它提供了丰富的SQL查询方式来分析存储在HDFS中的数据:HQL经过编译转为MapReduce作业后通过自己的SQL 去查询分析需要的内容:这样一来,即使不熟悉…
本文档基于hbase-0.96.1.1-cdh5.0.2,对HBase配置&启动脚本进行分析 date:2016/8/4 author:wangxl HBase配置&启动脚本分析 剔除window相关脚本,我们主要分析配置文件与.sh文件 1 文件概览 conf ├── hadoop-metrics2-hbase.properties ├── hbase-env.sh ├── hbase-policy.xml ├── hbase-site.xml ├── log4j.properties…
对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用.  Hive是什么? Apache Hive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库.Hive可以看作是用户编程接口,它本身不存储和计算数据:它依赖于HDFS(Hadoop分布式文件系统)和MapReduce(一种编程模型,映射与化简:用于大数据并行运算).其对HDFS的操作类似于SQL-名为HQL,它提…
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 本文内容 HBase 简介和应用场景 spring-boot-starter-hbase 开源简介 集成 HBase 实战 小结 摘录:Many a Man thinks he is buying Pleasure,when he is really sellinghimself a Slave to it.许多人认为自己花钱买了快乐,其实是花钱做了快乐的奴隶…
HBase的表结构 建表时要指定的是:表名.列族 建表语句 create 'user_info', 'base_info', 'ext_info' 意思是新建一个表,名称是user_info,包含两个列族base_info和ext_info 列族 是列的集合,一个列族中包含多个列 这时的表结构: row key base_info ext_info ... ... ... row key 是行键,每一行的ID,这个字段是自动创建的,建表时不需要指定 插入一条用户数据:name为‘a’,tel为‘…
测试准备 [首先同步时间:] for node in CloudDeskTop master01 master02 slave01 slave02 slave03;do ssh $node "date -s '2017-12-30 21:32:30'";done [slave各节点启动zookeeper集群:] cd /software/zookeeper-3.4.10/bin/ && ./zkServer.sh start && cd - &&…
[root@CloudDeskTop ~]# su -l hadoop[hadoop@CloudDeskTop ~]$ cd /software/hbase-1.2.6/bin/ [hadoop@CloudDeskTop bin]$ type hbasehbase is /software/hbase-1.2.6/bin/hbase [hadoop@CloudDeskTop bin]$ hbase shell 删除键:向左删除是ctrl+backspace.向右删除是backspace. 表空间…
HBase Python API HBase通过thrift机制可以实现多语言编程,信息通过端口传递,因此Python是个不错的选择 吐槽 博主在Mac上配置HBase,奈何Zoomkeeper一直报错,结果Ubuntu虚拟机上10min解决--但是虚拟机里没有IDE写Java代码还是不方便,因此用Mac主机连接虚拟机的想法孕育而生,这样又可以愉快地使用主机的IDE了~ 一.服务端启动Hbase Thrift RPC HBase的启动方式有很多,这里不再赘述,Ubuntu启动HBase之后,启动…
前言 现今互联网科技发展日新月异,大数据.云计算.人工智能等技术已经成为前瞻性产品,海量数据和超高并发让传统的 Web2.0 网站有点力不从心,暴露了很多难以克服的问题.为此,Google.Amazon .Powerset 等各大平台纷纷推出 NoSQL 技术以应对市场的急速发展,近10年间NoSQL技术百花齐放,HBase.Redis.MongoDB.Cassandra 等技术纷纷涌现.本文主要向各位介绍 HBase 的发展历史,基础结构与原理,应用的场景,对常用的 JAVA API 操作进行…