`
landyer
  • 浏览: 142011 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HBase入门篇

阅读更多

作者: H.E. | 您可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 
网址: http://www.javabloger.com/article/apache-hbase-shell-and-install-key-value.html

 

HBase是什么? 
HBase是Apache Hadoop中的一个子项目,Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些这些数据 存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操作,如右侧的图所示:
http://niaklq.bay.livefilestore.com/y1pG0dfN--ZmWUPjevQkIGp0CsXxWQQ6tyzYR-XAsrWWAJYHtvcdtxk0tIK66x8N_1TKj1CO79xLljO32yk0KvLiNi7GAAaa2Lm/storage-hbase-m.png?psid=1
HBase在产品中还包含了Jetty,在HBase启动时采用嵌入式的方式来启动Jetty,因此可以通过web界面对HBase进行管理和查看当前运行的一些状态,非常轻巧。

为什么采用HBase
HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.所谓非结构化数据存储就是说HBase是基于列的而不是基于行的模式,这样方面读写你的大数据内容。

HBase是介于Map Entry(key & value)和DB Row之间的一种数据存储方式。就点有点类似于现在流行的Memcache,但不仅仅是简单的一个key对应一个 value,你很可能需要存储多个属性的数据结构,但没有传统数据库表中那么多的关联关系,这就是所谓的松散数据。

简单来说,你在HBase中的表创建的可以看做是一张很大的表,而这个表的属性可以根据需求去动态增加,在HBase中没有表与表之间关联查询。你只需要 告诉你的数据存储到Hbase的那个column families 就可以了,不需要指定它的具体类型:char,varchar,int,tinyint,text等等。但是你需要注意HBase中不包含事务此类的功 能。

Apache HBase 和Google Bigtable 有非常相似的地方,一个数据行拥有一个可选择的键和任意数量的列。表是疏松的存储的,因此用户可以给行定义各种不同的列,对于这样的功能在大项目中非常实用,可以简化设计和升级的成本。

如何运行HBase?
从 Apache的HBase的镜像网站上下载一个稳定版本的HBase http://mirrors.devlib.org/apache/hbase/stable/hbase-0.20.6.tar.gz, 下载完成后,对其进行解压缩。确定你的机器中已经正确的安装了Java SDK、SSH,否则将无法正常运行。

$ cd /work/hbase
进入此目录

$ vim conf/hbase-env.sh
export JAVA_HOME=/JDK_PATH
编辑 conf/hbase-env.sh 文件,将JAVA_HOME修改为你的JDK安装目录

$ vim conf/regionservers
输入你的所有HBase服务器名,localhost,或者是ip地址

$ bin/start-hbase.sh
启动hbase, 中间需要你输入两次密码,也可以进行设置不需要输入密码,启动成功,如图所示:

$ bin/hbase rest start
启动hbase REST服务后就可以通过对uri: http://localhost:60050/api/ 的通用REST操作(GET/POST/PUT/DELETE)实现对hbase的REST形式数据操作.

也可以输入以下指令进入HQL指令模式
$ bin/hbase shell

$ bin/stop-hbase.sh
关闭HBase服务

启动时存在的问题

由于linux系统的主机名配置不正确,在运行HBase服务器中可能存在的问题,如图所示:
http://niaklq.bay.livefilestore.com/y1pT26oX2ZC-ku7h2O_zxioNgWtxrjuOFgLRUAcXUB3hW4nQ3hkDj0fvBSIZtAIOa7oairRjCFT8k2D8pzxdQhSCMAqqMHQb4yZ/hbase-start-err.jpg?psid=1
2010-11-05 11:10:20,189 ERROR org.apache.hadoop.hbase.master.HMaster: Can not start master
java.net.UnknownHostException: ubuntu-server216: ubuntu-server216
表示你的主机名不正确,你可以先查看一下 /etc/hosts/中名称是什么,再用 hostname 命令进行修改, hostname you_server_name

查看运行状态
1、如果你需要对HBase的日志进行监控你可以查看 hbase.x.x./logs/下的日志文件,可以使用tail -f 来查看。
2、通过 web方式查看运行在 HBase 下的zookeeper  http://localhost:60010/zk.jsp
3、如果你需要查看当前的运行状态可以通过web的方式对HBase服务器进行查看,如图所示:
http://niaklq.bay.livefilestore.com/y1pT26oX2ZC-ks0XJYGI5SXaYs8SuRTryRlxDB9g5r9cZTiNKbgMuzExCWjDHgc8n-QGH7DTZXqpbWunZMyp3o6dwbiehAsbztO/hbase-web-1.jpg?psid=1

扩展阅读1:
    Apach 的 Hadoop的项目中包含了那些产品,如图所示:http://niaklq.bay.livefilestore.com/y1pw70RQtwqhvDs46920vBXAzmfyo0ijLV3suYQl92Y-LClSJfB9zobeWUseNdadE9hcM-8Oh_fRh6HSkrtvpedqdVj7TlR0ioJ/Hadoop.png?psid=1
    Pig 是在MapReduce上构建的查询语言(SQL-like),适用于大量并行计算。
    Chukwa 是基于Hadoop集群中监控系统,简单来说就是一个“看门狗” (WatchDog)
    Hive 是DataWareHouse 和 Map Reduce交集,适用于ETL方面的工作。
    HBase 是一个面向列的分布式数据库。
    Map Reduce 是Google提出的一种算法,用于超大型数据集的并行运算。
    HDFS 可以支持千万级的大型分布式文件系统。
    Zookeeper  提供的功能包括:配置维护、名字服务、分布式同步、组服务等,用于分布式系统的可靠协调系统。
    Avro 是一个数据序列化系统,设计用于支持大批量数据交换的应用。

扩展阅读2:
    什么是列存储?列存储不同于传统的关系型数据库,其数据在表中是按行存储的,列方式所带来的重要好处之一就是,由于查询中的选择规则是通过列来定义的,因 此整个数据库是自动索引化的。按列存储每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量,一个字段的数据聚集存储,那就 更容易为这种聚集存储设计更好的压缩/解压算法。这张图讲述了传统的行存储和列存储的区别:
http://niaklq.bay.livefilestore.com/y1pw70RQtwqhvCwKHlcQPk1AohZmNofsBvSo--4NgUV9qk4-V-2Oju2mqEOttZVbxjre3wmVzhp5aWA8-93PR1_gKa6CaTOVyn8/columsbasedvsrowbased-thumb.png?psid=1
 
扩展阅读3:
    对系统海量的Log4J日志可以存放在一个集中式的机器上,在此机器上安装 splunk 可以方便对所有日志查看,安装方法可以参考:
    http://www.splunk.com/base/Documentation/latest/Installation/InstallonLinux

 

相关文章:
Hbase入门6 -白话MySQL(RDBMS)与HBase之间 
Lily-建立在HBase上的分布式搜索 
MySQL向Hive/HBase的迁移工具 

HBase入门5(集群) -压力分载与失效转发 
Hive入门3–Hive与HBase的整合 
HBase入门篇4 
HBase入门篇3 
HBase入门篇2-Java操作HBase例子 
HBase入门7 -安全&权限 
基于Hbase存储的分布式消息(IM)系统-JABase


–end–

分享到:
评论

相关推荐

    hbase培训ppt

    本人总结的hbase入门+提高培训ppt,对于对初级人员进行hbase培训,讲解思路在我的一篇博文中:http://blog.csdn.net/kirayuan/article/details/6321966#reply

    Hadoop、HBase、Hive、Pig、Zookeeper资料整理

    - **HDFS+MapReduce+Hive十分钟快速入门.doc**:这篇文档可能提供了一个快速了解Hadoop生态系统的概览,包括HDFS的基本操作、MapReduce的工作原理以及Hive的简单查询示例。 - **hive函数大全.doc**:这可能是一份...

    MongoDB入门篇1

    MongoDB入门篇1主要介绍了数据的基本概念,数据库管理系统(DBMS)的定义,常见的数据库管理系统,以及NoSQL数据库的相关知识。 1. 数据:数据是未经处理的原始记录,描述事物存在的符号,通常需要通过组织和分类...

    基于Hadoop、HBase的wordcount代码.zip

    本篇文章将围绕"基于Hadoop、HBase的WordCount代码"进行详细讲解,旨在帮助读者理解如何在Hadoop上实现基础的数据统计,并利用HBase存储和查询结果。 首先,让我们来了解一下Hadoop的WordCount程序。WordCount是...

    GC调优(入门篇)

    可见,无论使用多少堆外内存,对JVM内存的使用终究是绕不过去,既然绕不过去...本文就将会介绍HBase应用场景下CMS GC策略的调优技巧,后续还会针对另一业界开始使用的GC策略-G1GC策略在HBase应用场景下进行调优介绍。

    Storm流计算之项目篇-项目实战:基于1号店的电商实时数据分析系统 共41个章节 含全部PPT课件和源代码.rar

    kafka 详解和实战案例09.S图表框架HighCharts介绍10.HBase快速入门11.基于HBase的Dao基类和实现类开发一12.基于HBase的Dao基类和实现类开发二13.项目1-地区销售额-需求分析和架构设计14.项目1-地区销售额-Spout融合...

    ZooKeeper 入门看这篇就够了.md

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、...

    大数据基础Hadoop

    Hadoop的诞生可以追溯到Google公开的三篇核心论文,分别介绍了GFS(Google File System)、MapReduce算法和BigTable。这三篇论文揭示了Google处理海量数据的技术机制,对Hadoop的发展起到了关键作用。 Hadoop的生态...

    Hadoop快速入门

    ### Hadoop快速入门知识点梳理 #### 一、Hadoop概览与背景介绍 **1.1 何为Hadoop** - **定义**:Hadoop是一个由Apache基金会支持的开源软件框架,旨在通过集群中的普通商用硬件来处理大量数据集。 - **核心功能**...

    hadoop入门01.pdf

    Hadoop的发展历史与Google的三篇论文(GFS、MapReduce、BigTable)密切相关,这三篇论文奠定了大数据处理的理论基础。Hadoop的创始人Doug Cutting在借鉴这些论文的基础上,开发出了Hadoop。其发展过程中的一个重要...

    【SparkCore篇01】RDD编程入门1

    2. 从外部存储系统中创建:支持HDFS、Cassandra、HBase等,直接读取数据创建RDD。 3. 从其他RDD转换:通过一系列的转换操作算子,如map、filter等,生成新的RDD。 Spark的编程模型基于Driver和Worker。Driver程序...

    mysql快速入门(基础)

    本篇文章将详细介绍MySQL的基础知识点,内容包含其在淘宝的应用概况、常见操作、数据类型、SQL优化方法以及InnoDB索引等方面。了解这些知识对初学者来说,有助于快速掌握MySQL的基本使用与优化技巧。 一、淘宝MySQL...

    【Spark篇01】Spark基础入门和环境安装 1

    它可以与Hadoop生态系统无缝集成,使用YARN或Mesos作为资源管理和调度器,处理Hadoop支持的所有数据源,如HDFS和HBase。这样,用户无需迁移数据即可利用Spark的能力。 Spark集群由Master和Worker组成,Master作为...

    R的极客理想:工具篇,完整扫描版

    , 本书是R语言入门后的进阶读物,为用户灵活使用R语言提供思路上的扩展,给出进阶的学习路线。书中内容来自作者在R语言的实际使用过程中的经验总结,其中涉及计算机、互联网、数据库、大数据、统计、金融等领域,...

    NoSQL数据库详细介绍入门经典

    ### NoSQL数据库详细介绍入门经典 #### 序言 随着互联网技术的发展及大数据时代的到来,传统的关系型数据库在处理海量数据时逐渐显露出不足。NoSQL(Not Only SQL)数据库应运而生,以其灵活的数据模型、高扩展性...

Global site tag (gtag.js) - Google Analytics