1.2. 快速开始
本向导描述如何启动使用本地文件系统的单机版(standlone)HBase。包含创建表(table),通过HBase shell插入行(rows),以及如何清除数据和关闭单机HBase。下面练习应该不超过10分钟(不包含下载安装时间)
在开始之前,确认已阅览先决条件。
Loopback IP
HBase需要loopback IP地址设为127.0.0.1. Ubuntu 和其他发布包,例如,缺省的127.0.1.1,这将会出问题。
/etc/hosts 看起来应该是像下面这样(译注:包含 127.0.0.1 localhost即可)
127.0.0.1 localhost
127.0.0.1 ubuntu.ubuntu-domain ubuntu
1.2.1. 下载并解压最新稳定发行版安装包
l 选择一个下载地址表 Apache Download Mirrors. 选择一个顶部的推荐链接,这样就会选择合适的镜像下载HBase Releases. 选择目录名为stable 并下载后缀为.tar.gz到本地文件系统中; e.g. hbase-0.94.2.tar.gz.
l 解压下载内容并CD到解压后目录。
$ tar xfz hbase-0.95-SNAPSHOT.tar.gz
$ cd hbase-0.95-SNAPSHOT
现在开始HBase启动的准备工作,在启动之前,需要修改 conf/hbase-site.xml, 这个文件是用于和本地机器相关的配置。设置 hbase.rootdir, 该目录HBase 用于写数据文件, hbase.zookeeper.property.dataDir, 这目录则是ZooKeeper写数据的:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///DIRECTORY/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/DIRECTORY/zookeeper</value>
</property>
</configuration>
将上面的 DIRECTORY替换成你自己用于HBase和ZooKeeper写入数据的目录。hbase.rootdir缺省为 /tmp/hbase-${user.name} ,类似的,它也是ZooKeeper 的缺省路径;这也意味着,如果机器重启,将会损丢失所有数据。除非修改为别的目录 (大多数机器重启时都会清空 /tmp)。
1.2.2. 启动 HBase
现在开始启动HBase:
$ ./bin/start-hbase.sh
starting Master, logging to logs/hbase-user-master-example.org.out
你现在应该已经启动了一个单机HBase实例。在单机模式下, HBase 在同一JVM中启动所有 daemons; 例如, HBase 和 ZooKeeper daemons. 可以在logs 子目录查看HBase logs. 如果HBase启动有问题,仔细检查这些日志。
java是否安装了?
上面都假设是已正确Oracle java 1.6版本(译注,Linux默认安装的是Open JDK,虽然也可以使用,但最好是使用Sun的)(参见 Section 2.1.1, “Java”);例如. 输入java命令, 可以看到控制体显示java程序的输入选项(HBase 需要 java 6). 否则, HBase 无法启动. 安装 java, 并修改 conf/hbase-env.sh, 将JAVA_HOME 行注释取消 ,并指向自己的java安装路径,重新尝试上述步骤。
1.2.3. Shell 练习
通过 shell连接到已经启动的HBase
$ ./bin/hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version: 0.90.0, r1001068, Fri Sep 24 13:55:42 PDT 2010
hbase(main):001:0>
输入help 然后 <RETURN> 可以看见shell命令及其命令选项列表,至少浏览下help的下面一段介绍哪些变量和参数可以在HBase shell中使用; 特别是要关注表名,行,和列等怎样被引用。
创建一个名为test且只具有一个单一的名为cf列族(column family)的表。通过列出所有表来检查该表的创建是否成功,然后插入一些值。
hbase(main):003:0> create 'test', 'cf'
0 row(s) in 1.2200 seconds
hbase(main):003:0> list 'test'
官方中文版不一致 写道
官方中文版是错的
正确的命令是
list直接回车
或者 list 'test' ——即list '<table name>'
..
1 row(s) in 0.0550 seconds
hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.0560 seconds
hbase(main):005:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0370 seconds
hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0450 seconds
上面我们插入了3个值,一次一个。第一个插入的是row1, column cf:a ,它的值是value1. 在 HBase中,一些Column 组成一个 column family 前缀 – 本例中的cf – 跟在冒号:后面 然手一个列的限定后缀 (本例中的a).
通过运行scan表 来检查插入是否成功。
hbase(main):007:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1288380727188, value=value1
row2 column=cf:b, timestamp=1288380738440, value=value2
row3 column=cf:c, timestamp=1288380747365, value=value3
3 row(s) in 0.0590 seconds
Get a single row
hbase(main):008:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=1288380727188, value=value1
1 row(s) in 0.0400 seconds
Now, disable and drop your table. This will clean up all done above.
hbase(main):012:0> disable 'test'
0 row(s) in 1.0930 seconds
hbase(main):013:0> drop 'test'
0 row(s) in 0.0770 seconds
Exit the shell by typing exit.
1.2.4. 停止 HBase
用stop脚本来停止HBase运行实例.
$ ./bin/stop-hbase.sh
stopping hbase...............
1.2.5. 下一步
上面介绍了单机版的安装,这仅对测试和实验有帮助.下一章, Chapter 2, Apache HBase (TM) Configuration, 我们将深入介绍分布式HBase部署中的关键设置,HBase运行模式和启动HBase的系统要求与单机版的不同之处。
分享到:
相关推荐
HBase是一种开源的非关系型分布式数据库(NoSQL),它运行在Hadoop文件系统之上,为大数据存储和处理提供了一种可伸缩的、分布式的方式。HBase的数据模型是其核心特性之一,它具有一些独特之处,这使得它在处理大量...
【Hadoop与HBase部署文档】 Hadoop是一个开源的分布式计算框架,主要由Apache基金会维护。它被设计成能够处理和存储大量...然而,部署只是第一步,后期的运维和优化同样重要,包括性能监控、故障排查和系统升级等。
《HBase架构解析——维基百科[归纳].pdf》这篇文档是关于Apache HBase的架构解析,主要介绍了HBase的基本概念、数据模型以及架构组成部分。HBase是一个开源项目,其目标是在Hadoop分布式计算环境中提供类似Google ...
这份“HBase官方文档中文版”详细阐述了HBase的核心概念、架构、操作以及最佳实践,对于HBase的学习者和使用者来说是一份宝贵的资源。通过深入学习,我们可以更好地理解和利用HBase处理海量数据的挑战。
HBase是一个分布式的、面向列的数据库,构建在Apache Hadoop和Apache ZooKeeper之上。这种数据库通常用于处理大规模的非结构化数据集,因此与大数据紧密相关。HBase具有高扩展性、高性能、以及灵活的数据模型。下面...
1. **HBase Master**:负责全局的表和Region的管理,包括表的创建、删除、分裂和合并,以及Region Server的负载均衡。它监控Region Server的状态,并在Region Server失败时重新分配其管理的Region。 2. **...
HBase是一种分布式、基于列族的NoSQL数据库,它运行在Hadoop之上,设计用于处理海量数据。这个压缩包文件包含的"**Hbase中文文档和官方英文文档PDF**"是学习和理解HBase的重要资源,无论是对于初学者还是经验丰富的...
在深入探讨HBase架构之前,我们首先需要...尽管本文档描述的是较旧的HBase版本(0.18.x),但其核心概念和架构原理仍然适用于当前版本。随着HBase的发展,它增加了更多的功能和优化,以适应不断变化的分布式存储需求。
Yu Li explains how Alibaba met the challenge of tens of millions requests per second to its Alibaba-Search HBase cluster on 2016 Singles' Day. With read-path off-heaping, Alibaba improved the ...
1. HBase官网文档的结构和内容 HBase官网文档的结构清晰,内容全面。文档的左侧目录列出了包含前言、入门指南、配置、API、架构、安全、备份恢复、性能调优等各个部分,基本覆盖了HBase的全部知识领域。文档中的每个...
【Hadoop及Hbase部署与应用】涉及到的关键知识点如下: 1. **Hadoop基础**: - Hadoop是一个开源的分布式计算框架,基于Java开发,主要用于处理和存储大规模数据。它由两个主要组件组成:HDFS(Hadoop Distributed...
hbase官方文档 英文
12-5-30 HBase 官方文档 2/81 abloz.com/hbase/book.htm 6.9. Secondary Indexes and Alternate Query Paths 6.10. Schema Design Smackdown 6.11. Operational and Performance Configuration Options 6.12. 限制 7...
### HBase 官方文档概览 #### 一、引言 HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 的论文 "Bigtable: A Distributed Storage System for Structured Data"。不同于一般...
《HBase学习文档》 HBase,全称为Apache HBase,是构建在Hadoop文件系统(HDFS)之上的分布式列式数据库,是大数据领域的重要组件。它为海量数据提供了实时、高性能的读写能力,尤其适用于处理半结构化或非结构化的...
通过深入学习这些文档和配置文件,开发者可以更好地理解HBase的工作原理,从而有效地部署、管理和优化HBase集群,满足大规模数据处理的需求。同时,了解这些内容也是开发基于HBase的应用程序或服务的基础。
这是 Apache HBase的官方文档, Hbase是一个分布式,版本化(versioned),构建在 Apache Hadoop和 Apache ZooKeeper上的列数据库.专业人士翻译
通过以上解析可以看出,《HBase 官方文档》覆盖了 HBase 的各个方面,从基础入门到高级应用,再到故障排除,是一份非常全面的技术文档,对于学习和使用 HBase 的技术人员来说具有极高的参考价值。
《HBase概述——HBase的存储模型》这篇文章深入解析了HBase的核心存储机制,即LSM树(Log-Structured Merge Tree)。LSM树是一种优化的存储结构,它旨在解决大数据场景下的高性能写入和读取需求。在HBase中,LSM树的...
指导手册06:HBase安装部署 hbase配置文件