程序员的自我修养
Home » 标签 » HBase

Hadoop集群搭建全过程

3条评论3,152次浏览

最近需要紧急搭建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条评论3,648次浏览

简介

使用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,682次浏览

接着上一篇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,744次浏览

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

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

Dedicated Filters(专用过滤器)

SingleColumnValueFilter

代码示例

阅读全文>>

分类:Apache HBase
标签:

HBase Filter - Comparision Filters

0条评论2,144次浏览

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,748次浏览

关于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,511次浏览

连接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条评论8,628次浏览

概念视图与物理视图

BigTable论文HBase官网上的示例

概念视图

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
标签:
11
profile
  • 文章总数:79篇
  • 评论总数:254条
  • 分类总数:31个
  • 标签总数:44个
  • 运行时间:1193天

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

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

最新评论
  • Anonymous: :arrow: :neutral: :cry:
  • Anonymous: java.io.NotSerializableExcepti on: DStream checkpointing has been enabled but the DStreams with their...
  • wick: HI,请问一下,U,S,V得到后,怎么得到近似矩阵呢(用sp ark java),谢谢。
  • Michael Whitaker: Thank you for this blog, it was very helpful in troubleshooting my own issues. It seems that no...
  • Anonymous: :mad:
  • Anonymous: :???:
  • Anonymous: :mad: :mad: :mad:
  • 洋流: 哥们,我问个问题,你把testOnborrow去掉了。。如果 得到的jedis资源是个不可用的,服务从来都不出问题么?
  • 洋流: 哥们,我问个问题,你把testOnborrow去掉了。。如果 得到的jedis资源是个不可用的,服务从来都不出问题么?
  • Anonymous: :razz: :evil: :grin:
  • 张瑞昌: 有很多,比较常见的是Jacob迭代法,一次迭代O(n^3), 迭代次数不清楚。 如果是手动算的话按照定义求就可以了
  • Anonymous: :mrgreen:
  • lc277: 你好 我想问下一般删除节点要多久,要删除的datanode大概用了 1t,解除授权已经30多小时还没完成,请问是出现什么问题了吗 麻烦告诉下谢谢 qq1844554123
  • Anonymous: 你好 我想问下一般删除节点要多久,要删除的datanode大概用了 1t,解除授权已经30多小时还没完成,请问是出现什么问题了吗
  • Anonymous: :smile: :grin: :eek:
  • 李雪璇: 想要完整代码,可以帮忙发给我吗
  • Anonymous: 请问一下,那个 user的推荐结果楼主查看了么? 为什么输入数据 最高是五分,输出结果都是7分8分啥的?怎么设置输出的分数的最 大值?
  • Anonymous: 那个 user的推荐结果楼主查看了么? 为什么输入数据 最高是五分,输出结果都是7分8分啥的?
  • Anonymous: stopGracefullyOnShutdown在yarn- client模式下我测试的无效,你的呢
  • Anonymous: 另外,import的lib包能否发个列表.