Chinaunix首页 | 论坛 | 博客
  • 博客访问: 165160
  • 博文数量: 48
  • 博客积分: 365
  • 博客等级: 一等列兵
  • 技术积分: 285
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-11 17:59
文章分类

全部博文(48)

文章存档

2017年(21)

2016年(8)

2013年(2)

2012年(7)

2011年(10)

我的朋友

分类: 云计算

2017-02-18 20:38:10

http://blog.selfup.cn/category/hbase
程序员的自我修养
Home ? 分类目录 ? Apache HBase

Hadoop集群搭建全过程

2条评论2,563次浏览

最近需要紧急搭建Hadoop集群,以前搭建都没留下文档和记录,导致这次忙的晕头转向。现在终于搞定了,决定将全部过程记录下来,方便下次使用。

软件环境

  • 操作系统:Centos 6.4
  • JDK:1.6.0_27
  • Hadoop:1.0.4
  • HBase:0.94.17
  • Zookeeper:3.4.5

前置步骤

范围:Hadoop集群所有机器

操作身份:root用户

创建Hadoop用户


关闭SELINUX


修改:



标签:,

HBase协处理器

0条评论2,746次浏览

简介

使用Scan的时候,可以配合各种Filter进行数据的筛选以减少返回的数据量,同样也可以通过选择特定的列族和列来减少返回的数据量。若是能将该特性进一步的优化则HBase会更强大,例如将客户端的代码分发到各个HRegionServer上执行,好比MapReduce一样的执行任务,执行完后返回的结果相信数据量会更小。HBase在0.92版本后引入了协处理器来实现该功能。

使用协处理器的好处是显而易见的,可以将运算放至Server端,减少通信开销的同时还能有效的提升性能。但同样的也会存在一些风险:由于协处理器目前还没有与主要的HBase进程隔离开来,若协处理器崩溃可能导致进程崩溃。

协处理器分类两类:Observer和Endpoint。可以分别对应成关系型数据库中的触发器和存储过程。

Observer

Observer类的协处理器在特定的事件发生时执行回调函数(也被称为钩子函数,hook),这些事件可以是用户产生的事件,也可以是服务器端产生的事件。

Observer分类以下三类:

  • RegionObserver:提供客户端的数据操纵事件钩子,与表的region紧密关联
  • MasterObserver:提供DDL类型的操作钩子,为集群级事件
  • WALObserver:提供WAL相关操作钩子


分类:Apache HBase
标签:

HBase Filter – Decorating Filters

0条评论1,415次浏览

接着上一篇HBase Filter – Dedicated Filters继续进行HBase Filter的学习和了解。Decorating Filters,装饰性过滤器,其自身不产生任何作用,需要结合其它过滤器来产生效果。

数据准备和代码准备同HBase Filter – Comparision Filters

Decorating Filters(装饰性过滤器)

SkipFilter

SkipFilter,跳转过滤器,目前只能作用于ValueFilter。ValueFilter用于输出满足条件的行和对应的列(该行中也有1至N列满足),当加上SkipFilter后,若某行中有不满足ValueFilter的列存在,则整行都不会输出(即,只要某行中有一列不满足ValueFilter,则其它满足的列也不会输出)。

代码示例


输出结果为空,因为没有哪一行的所有列的值全部以100开头。


分类:Apache HBase
标签:

HBase Filter - Dedicated Filters

0条评论1,421次浏览

接着上一篇HBase Filter – Comparision Filters继续进行HBase Filter的学习和了解。Dedicated Filters,专用过滤器,其实现的功能大部分可以通过对Comparision Filters进行一层包装来实现。

数据准备和代码准备同HBase Filter – Comparision Filters

Dedicated Filters(专用过滤器)

SingleColumnValueFilter

代码示例



分类:Apache HBase
标签:

HBase Filter - Comparision Filters

0条评论1,803次浏览

HBase的Get和Scan实例可以调用setFilter()来设置过滤器,HBase的过滤器种类繁多,以满足不同的过滤需求。Filter作用于各个RegionServer,通过使用过滤器可以高效的获取数据。HBase Filter主要分为三大类,用户也可以通过继承FilterBase或实现Filter接口来自定义Filter。若需要多个Filter结合使用,可以通过FilterList来满足。

以下主要对各个Filter进行简单的了解。

数据准备

rowkey cf1:col1 cf1:col2 cf2:col1 cf2:col2
101 10086 qwe1 1352288xxxx wer1
102 10000 sdf2 1820160xxxx ert2
103 10001 cxv3 1531308xxxx mnb3
104 12306 jhg4 1387223xxxx kji4
105 12580 nju5 1580101xxxx nbv5


分类:Apache HBase
标签:

HBase的一些基础概念

2条评论4,319次浏览

关于HBase MapReduce

正确进行参数传递

MapReduce中传递参数必须通过configuration.set..()一系列函数来设置。如果通过属性来传递参数,那么必然会报空指针的错误。如下为经典错误示例:


运行的结果会是输出10和20吗?单机情况下确实如此,但是若在集群上跑,则会发现a为null,b=0。至于为什么,很简单:集群、分布式、JobTracker、TaskTracker

善用setup()和cleanup()

  • 对于需要传递的参数,最好在setup()中进行初始化,不要在map()中频繁的获取
  • setup()和cleanup()也可以进行输出,输出的内容同样会经过排序,并不会因为从setup()中输出而排在最前面,也不会因为从cleanup()输出而排在最后面


分类:Apache HBase
标签:

HBase CRUD

0条评论1,200次浏览

连接HBase


Create


进入HBase Shell,scan一下:


HBase写过程

  1. client向region server提交写请求
  2. region server找到目标region
  3. region检查数据是否与schema一致
  4. 如果客户端没有指定版本,则获取当前系统时间作为数据版本
  5. 将更新写入WAL log
  6. 将更新写入Memstore
  7. 判断Memstore的是否需要flush为Store文件


分类:Apache HBase
标签:

HBase表结构设计

3条评论6,657次浏览

概念视图与物理视图

和上的示例

概念视图

Row Key Time Stamp ColumnFamily contents ColumnFamily anchor
"com.cnn.www" t1
anchor:cnnsi.com = "CNN"
"com.cnn.www" t2
anchor:my.look.ca = "CNN.com"
"com.cnn.www" t3 contents:html = "..."
"com.cnn.www" t4 contents:html = "..."
"com.cnn.www" t5 contents:html = "..."

物理视图

ColumnFamily anchor

Row Key Time Stamp Column Family anchor
"com.cnn.www" t1 anchor:cnnsi.com = "CNN"
"com.cnn.www" t2 anchor:my.look.ca = "CNN.com"


分类:Apache HBase
标签:
profile
  • 文章总数:79篇
  • 评论总数:318条
  • 分类总数:31个
  • 标签总数:44个
  • 运行时间:974天

大家好,欢迎来到selfup.cn。

这不是一个只谈技术的博客,这里记录我成长的点点滴滴,coding、riding and everthing!

最新评论
  • yurnom: 可能苹果最近又改变了返回值吧,最近没做测试了。 BadDeviceToken一般测试环境和正式环境弄错的情况 下会出现。
  • Anonymous: :razz: 博主,良心贴啊, 最近也在弄apns推送。 有个问题想请教你一下啊。 你博客中写的 Unregistered 错误,有准确的说明吗, 我看你博客中写的:...
  • 一波清泉: 回复邮箱: 1004161699@qq.com 多谢
  • Anonymous: 17/02/09 01:15:02 WARN Utils: Service ‘SparkUI’ could not bind on port 4040. Attempting port...
  • pacificLee: :twisted:
  • 小码: 为什么没有后面的呢,只有前10个
  • Anonymous: :lol:
  • Anonymous: :razz: 楼主是属于会聊天的。 我想问,sqoop发了几个版本了,应该没这些问题了吧。
  • Anonymous: Config.kafkaConfig.kafkaGroupI d 这个是指自己配置的group id 还是从 import org.apache.kafka.common.config .Config 这个类...
  • Anonymous: ZkUtils.getPartitionsForTopics (zkClient, Config.kafkaConfig.topic) 那个方法是在 spark-streaming_2.10 中 kafka...
  • Anonymous: ZkUtils.getPartitionsForTopics (zkClient, Config.kafkaConfig.topic) 你确定 kafka 里面有这个类 ? 个人在kafka 最新 稳定版...
  • Anonymous: :roll:
  • Anonymous: 很不错,试问有java版的吗?
  • Anonymous: 赞
  • Anonymous: 哈哈 看楼主的吐槽乐死了 where子句是可以写的 同样找不到资料 一点点试出来的 select id from xxxx where ${CONDITIONS} and 1=1 and 2=2 limit 4
  • EVIL: 我在运行完C4.5的代码后,显示 defined object DecisionTreeTest 是什么意思?这是有错误吗?运行结果在哪里看?
  • sf: 楼主的问题,我都遇到。。。没办法项目已经定型了,最后都硬着头 皮一个一个的改了源码
  • zz: 我去,楼主你真及时,我们今天上了新的HTTP2 push之后也发现速度曲线很奇怪,开始有200k/min,跟 另一台老的推送协议速度差不多,但是过了一会,立马降到只有几k /min,百思不得其解,我们还用了一个海外代理,在...
  • qi365: :mad: 很可恶,百度助纣为虐~
  • qi365: :? :shock: haha~ very good~

ICP备案:

版权所有 © 2014-2015 程序员的自我修养 - SelfUp.cn
阅读(1276) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~