随笔分类 - HBase
摘要:一 、HBase访问接口1. Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据2. HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用3. Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据4. REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制5. Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是
阅读全文
摘要:本文来源:http://rdc.taobao.com/team/jm/archives/951二级索引与索引Join是多数业务系统要求存储引擎提供的基本特性,RDBMS早已支持,NOSQL阵营也在摸索着符合自身特点的最佳解决方案。这篇文章会以HBase做为对象来讨论如何基于Hbase构建二级索引与实现索引join。文末同时会列出目前已知的包括0.19.3版secondary index,ITHbase, Facebook方案和官方Coprocessor的介绍。理论目标在HBase中实现二级索引与索引Join需要考虑三个目标:1,高性能的范围检索。2,数据的低冗余(存储所占的数据量)。3,数据的
阅读全文
摘要:引言在上篇文章中介绍了如何利用MapReduce来分析HBase中的数据,并通过代码示例来演示。老实说,当我写完那段代码时我一点信心都没有,我非常想知道这个job能否正常执行,结果是否符合预期,怎么办呢?一个常见的流程可能是这样的:1. 申请HBase环境的访问权限(或者自己搭一套)2. 创建blog表和tag_friend表,插入一些测试数据3. 将Job类及相关类库打成jar包,并上传到HBase集成环境的gateway上,开始运行该Job4. 查看Job运行情况,完成后查tag_friend表看数据是否符合预期。5. 如果发现程序有问题,修改程序,重复第3,4步。哦No,这太繁琐了,我只
阅读全文
摘要:引言跟Hadoop的无缝集成使得使用MapReduce对HBase的数据进行分布式计算非常方便,本文将以前面的blog示例,介绍HBase下MapReduce开发要点。很好理解本文前提是你对Hadoop MapReduce有一定的了解,如果你是初次接触Hadoop MapReduce编程,可以参考http://qa.taobao.com/?p=10523 这篇文章来建立基本概念。HBase MapReduce核心类介绍首先一起来回顾下MapReduce的基本编程模型,可以看到最基本的是通过Mapper和Reducer来处理KV对,Mapper的输出经Shuffle及Sort后变为Reducer
阅读全文
摘要:引言在本系列的上篇文章中介绍了Hadoop的基本概念和架构,本文将通过一个实例演示MapReduce基本编程。在继续进行前希望能重温下前面的内容,至少理解这张图是怎么回事。实践创建maven工程并加入hadoop依赖我们选用maven来管理工程,用自己喜爱的m2eclipse插件在eclipse里创建或在命令行里创建一个工程。在pom.xml里加入hadoop依赖。<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId>
阅读全文
摘要:引言HBase提供了Java Api的访问接口,掌握这个就跟Java应用使用RDBMS时需要JDBC一样重要,本文将继续前两篇文章中blog表的示例,介绍常用的Api。练习前的准备工作创建一个Maven工程,加入以下依赖:<dependency><groupId>org.apache.hbase</groupId><artifactId>hbase</artifactId><version>0.90.2</version></dependency>如果你的Maven库里还没有hbase,还需要配置下
阅读全文
摘要:引言HBase提供了丰富的访问接口。• HBase Shell• Java clietn API• Jython、Groovy DSL、Scala• REST• Thrift(Ruby、Python、Perl、C++…)• MapReduce• Hive/Pig其中HBase Shell是常用的便捷方式,我们将结合本系列上一篇文章的理论分析来实践一把,依然采用blog表示例。首先你需要一个HBase的环境,如果需要自己搭建可以参考http://hbase.apache.org/book/quickstart.html 和http://hbase.apache.org/book/notsoqui
阅读全文
摘要:引言团队中使用HBase的项目多了起来,对于业务人员而言,通常并不需要从头搭建、维护一套HBase的集群环境,对于其架构细节也不一定要深刻理解(交由HBase集群维护团队负责),迫切需要的是快速理解基本技术来解决业务问题。最近在XX项目轮岗过程中,尝试着从业务人员视角去看HBase,将一些过程记录下来,期望对快速了解HBase、掌握相关技术来开展工作的业务人员有点帮助。我觉得作为一个初次接触HBase的业务开发测试人员,他需要迫切掌握的至少包含以下几点:深入理解HTable,掌握如何结合业务设计高性能的HTable掌握与HBase的交互,反正是离不开数据的增删改查,通过HBase Shell命
阅读全文
摘要:下载wget http://archive.apache.org/dist/hadoop/zookeeper/zookeeper-3.3.2/zookeeper-3.3.2.tar.gz -P /usr/local/srctar zxvf zookeeper-3.3.2.tar.gzmv zookeeper-3.3.2 /usr/local/zookeepercd /usr/local/zookeeper/confcp zoo_sample.cfg zoo.cfg编辑配置文件zoo.cfg# 修改dataDir、clientPort为以下值 dataDir=/usr/local/zookee.
阅读全文
摘要:下载#wget http://archive.apache.org/dist/hadoop/common/hadoop-1.1.0/hadoop-1.1.0.tar.gz -P /usr/local/src#tar zxvf hadoop-1.1.0.tar.gz#mv hadoop-1.1.0.tar.gz /usr/local/hadoop编辑配置文件conf/hadoop-env.shexport JAVA_HOME=/usr/java/jdk1.6.0_30编辑配置文件conf/core-site.xml<configuration><property> <
阅读全文
摘要:一、下载JDK6http://download.oracle.com/otn-pub/java/jdk/6u30-b12/jdk-6u30-linux-x64.bin二、安装JDK6#mkdir /usr/java#vi /etc/profile在最后加入以下几行: export JAVA_HOME=/usr/java/jdk1.6.0_16 export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin#reboo
阅读全文
摘要:一、主机配置(/etc/hosts)192.168.40.151 master(用于集群主机提供hmasternamenodejobtasker服务)192.168.40.151 slave-01192.168.40.152 slave-02(用于集群丛机提供regionsreverdatanodetasktacuter服务) 192.168.40.153 slave-03二、设置防火墙Master:29000//Namenode29001//Jobtracker30200//Zookeeper30201//Zookeeper.slave-0130301//Zookeeper.slave-01
阅读全文
浙公网安备 33010602011771号