`
zhangxiong0301
  • 浏览: 359861 次
社区版块
存档分类
最新评论
文章列表
问题和现象:这是一个连锁反应:1)RegionServer在遇到"Stop-The-World" GC时,会停止一切工作,这样与Zookeeper保持的心跳,就会停止。2)Zookeeper在没有收到注册节点的心跳时,就会删除对应rs对应节点。3)HMaster的ServerManager会发现这个RegionServer出现了问题,然后交由ServerShutdownHandler处理。4)HMaster的SplitLogManager和RegionServer的SplitLogWorker
1. 在hvie关联hbase创建外部表时报错:   hive> CREATE EXTERNAL table dmp_user_register(key string,address string,gpsx string,gpsy string,loginid string,nettype string,runmode string,apkversion string,channel string,city string,coolacount string, > cpbversion string,hardware string,imei string,imsi s ...
package com.yulong.udf; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.hive.ql.udf.UDFType; @UDFType(deterministic = false) public class RowNum extends UDF{ private static int MAX_VALUE = 50; private static String comparedColumn[] = new String[MAX_VALUE]; private ...
一、过滤器   HBASE过滤器用来过滤数据,减少传输到客户端的网络消耗,也可以为客户端减轻一些数据处理压力。过滤器主要分为:比较过滤器,专用过滤器,附加过滤器和自定义过滤器。   1.比较过滤器 比较过滤器基于某些运算做出过滤判定。过滤器的两个基本要素是:比较器和运算符。运算符有:等于、不等于,小于,小于等于,大于,大于等于,NO_OP等。比较器为键或值得比较提供比较方式:BinaryComparator,BinaryPrefixComparator,NullComparator,BitComparator,RegexStringComparator,SubStringCompa ...
如果要统对hbase中的数据,进行某种统计,比如统计某个字段最大值,统计满足某种条件的记录数,统计各种记录特点,并按照记录特点分类(类似于sql的group by)~ 常规的做法就是把hbase中整个表的数据scan出来,或者稍微环保一点,加一个filter,进行一些初步的过滤(对于rowcounter来说,就加了FirstKeyOnlyFilter),但是这么做来说还是会有很大的副作用,比如占用大量的网络带宽(当标级别到达千万级别,亿级别之后)尤为明显,RPC的量也是不容小觑的。 理想的方式应该是怎样? 拿row counter这个简单例子来说,我要统计总行数,如果每个region 告 ...

HBASE数据架构

  1、数据结构   关系数据库一般用B+树,HBASE用的是LSM树。MYSQL所用类B+树一般深度不超过3层,数据单独存放,在B+树的叶节点存储指向实际数据的指针,叶节点之间也相互关联,类似双向链表。这种结构的特点是数据更新或写入导致数据页表分散,不利于顺序访问。LSM存储中,各个文件的结构类似于B+树,但是分多个存在内存或磁盘中,更新和写入变成了磁盘的顺序写,只在合并时去掉重复或过时的数据。也就是说,LSM树将B+树种的随机写变成顺序写,从而提高写吞吐量。   2、存储   存储对象:HregionServer对应多个HRegion,Region的每个列族对应一个Stor ...

HBASE高级应用

1、行健或表设计   基本原则是尽量把查询的维度或信息存入行健中,因为这样筛选数据的效率最高。从表的形式看,主要有列少行多的高表和行多列少的宽表,一般情况下高表更有优势,因为hbase只能按行拆分。   防止数据过热:当时间序列类型的数据(行健为时间戳)写入时,数据集中在一个region中,很容易产生读写热点。解决办法有:1)添加hash前缀,2)字段交换或提升权重:即在行键中添加另外一个字段或交换杭建中多个字段的位置,3)随机化,比如对整个行健取MD5,作为新的行健。以上方法顺序度的性能由高到低,而写入的速度由低到高。   行健决定数据的读取维度或模式,数据行行健有序。但如果需 ...
1、行健或表设计 基本原则是尽量把查询的维度或信息存入行健中,因为这样筛选数据的效率最高。从表的形式看,主要有列少行多的高表和行多列少的宽表,一般情况下高表更有优势,因为hbase只能按行拆分。   防止数据过 ...
原网址:http://hbase.apache.org/book.html#hbase_metrics HBase emits metrics which adhere to the Hadoop metrics API. Starting with HBase 0.95[3], HBase is configured to emit a default set of metrics with a default sampling period of every 10 seconds. You can use HBase metrics in conjunction with Ganglia. ...
一、性能优化 1.、垃圾回收优化 由于master负载通常比较轻,所以一般考虑region服务器启动参数。写负载高的情况下,memstore在不同时期创建各种不同大小的对象。memstore会保存缓冲区中的数据直到超过hbase.hregion.memstore.flush.size(建表时可以针对每个表指定这个参数)配置的大小才会刷写(或者客户端调用flushCommitts),这种刷写导致jvm堆存在孔洞。新生代空间比较小,垃圾回收很迅速不会有太大问题,但是长时间缓存的数据在老年代中,一般老年代会占据很大堆空间,回收很耗时。一般在hbase-env.sh中配置HBASE_REGIONSE ...
堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -Xmx3550m:设置JVM最大可用内存为3550M。 -Xms3550m:设置JVM促使内存为3550m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分 ...
垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部运行机制上看,Java的垃圾回收原理与机制并未改变。垃圾收集的目的在于清除不再使用的对象。GC ...

JAVA内存泄露问题

    博客分类:
  • JAVA
Java内存回收机制   不论哪种语言的内存分配方式,都需要返回所分配内存的其实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对 ...
awk内置函数,主要分4种:算数函数、字符串函数、时间函数、一般函数 一、算术函数 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y, x ) 返回 y/x 的反正切。 cos( x ) 返回 x 的余弦;x 是弧度 ...
这里提到awk,相信写shell的朋友都会接触到。AWK 是一种用于处理文本的编程语言工具。AWK 提供了极其强大的功能: 可以进行正则表达式的匹配 样式装入 流控制 数学运算符 进程控制语句 内置的变量和函数 可以把awk看作一门完全的程序设计语言,它处理文本的速度是快得惊人的。现在很多基于shell 日志分析工具都可以用它完成。设计简单,速度表现很好。 涉及到以上六个方面内容,我会在以后文章中加以介绍。 这次主要说下,怎么样把外部变量传入到awk执行语句中。 一、基础: awk [ -F re] [parameter...] ['pattern {action}' ] [-f p ...
Global site tag (gtag.js) - Google Analytics