数智资源网
首页 首页 大数据 大数据入门 查看内容

Apache HBase 入门

木马童年 2020-10-18 09:16 10 0

介绍Quickstart 将使您运行一个单节点,独立的 HBase 实例。快速开始 —— 独立的 HBase这一节描述了单节点独立 HBase 的设置。独立的 实例具有所有的 HBase 守护进程 —— Master,RegionServers,和 ZooKeeper — ...

介绍

Quickstart 将使您运行一个单节点,独立的 HBase 实例。

快速开始 —— 独立的 HBase

这一节描述了单节点独立 HBase 的设置。独立的 实例具有所有的 HBase 守护进程 —— Master,RegionServers,和 ZooKeeper —— 运行于一个单独的JVM 持久化到本地文件系统。它是我们的大多数基本部署配置文件。我们将向你展示如何使用 hbase shell CLI 在 HBase 中创建一个表,向表中插入行,对表执行 put 和 scan 操作,启用或禁用表,以及启动和停止 HBase。

除了下载 HBase,这个过程应该耗费不超过 10 分钟。

在 0.94.x 之前,HBase 期望环回 IP 地址是 127.0.0.1。Ubuntu 和 其它一些发行版默认为127.0.1.1,而这将导致一些问题。参考 HBase 为什么关心 /etc/hosts ? 一文来了解更多信息。

在 Ubuntu 上,对于 0.94.x 和之前的版本,下面的 /etc/hosts 可以工作。如果遇到了问题,可以使用这个作为模板。

12

127.0.0.1 localhost127.0.0.1 ubuntu.ubuntu-domain ubuntu

这个问题已经在 hbase-0.96.0 及之后的版本中修复了。

JDK 版本要求

HBase 要求安装 JDK。参考 Java 来了解关于支持的 JDK 版本的信息。

HBase 入门

过程:下载,配置,以独立模式启动 HBase

在 Apache下载镜像 的列表中选择一个下载站点。点击顶部的建议链接。这将带你到一个 HBase Release 镜像。点击名为 stable 的目录,然后下载以 .tar.gz 结尾的二进制文件到你的本地文件系统。目前先不要下载以 src.tar.gz 结尾的文件。

解压缩下载的文件,然后进入新创键的文件夹。

12

$ tar xzvf hbase-1.2.4-bin.tar.gz$ cd hbase-1.2.4

你需要在启动 HBase 之前设置 JAVA_HOME 环境变量。你可以通过你的操作系统的常用机制设置环境变量,但是 HBase 提供了一个中心机制,conf/hbase-env.sh。编辑这个文件,取消注释以JAVA_HOME 开头的行,并将它设置为你的操作系统的适当位置。 JAVA_HOME 环境变量应该被设置为包含可执行文件 bin/java 的文件夹。大多数现代 Linux 操作系统提供了某种机制,比如 RHEL 或 CentOS 上的 /usr/bin/alternatives,来透明地在 Java 这样的可执行文件的不同版本间进行切换。在这种情况下,你可以将 JAVA_HOME 设置为包含到 bin/java 的符号链接的目录,通常是/usr。

1

JAVA_HOME=/usr

编辑 conf/hbase-site.xml,它是主 HBase 配置文件。此时,你只需要指定本地文件系统中 HBase 和 ZooKeeper 写数据的文件夹。默认情况下,将在 /tmp 下创建一个新的文件夹。许多服务器被配置为在重启之后删除 tmp 下的内容,因而你应该将数据存储在其它地方。下面的配置将把 HBase 的数据存储在 hbase 目录下,在名为 testuser 的用户的主目录下。粘贴标签下的

标签,在新的 HBase 安装中它应该是空的。

示例1. 独立 HBase 的 hbase-site.xml 示例

12345678910

hbase.rootdirfile:///home/testuser/hbase

hbase.zookeeper.property.dataDir/home/testuser/zookeeper

你无需创建 HBase 数据文件夹。HBase 将为你做这些。如果你创建了目录,HBase 将尝试执行迁移,这不是你想要的。

上面例子中的 hbase.rootdir 指向 本地文件系统 中的目录。’file:/‘ 前缀是我们如何表示本地文件系统的方式。要将 HBase 放置于已有 HDFS 实例上,则设置 hbase.rootdir 指向你的实例上的目录:比如,hdfs://namenode.example.org:8020/hbase。更多关于这一变体的信息,参考下面关于 基于 HDFS 的独立 HBase 的小节。

HBase 提供了一种方便的方式,即 bin/start-hbase.sh 脚本来启动HBase。发出命令,如果一切正常,将有一条消息打印到标准输出显示 HBase 启动成功。你可以使用 jps 命令来验证你有一个称为HMaster 的运行进程。在独立模式 HBase 在这个单独的 JVM 内运行所有的守护进程,比如,HMaster,一个单独的 HRegionServer,和 ZooKeeper 守护进程。进入 http://localhost:16010 来查看 HBase Web UI。12345

$ bin/start-hbase.sh starting master, logging to /media/data/dev_tools/hbase-1.2.4/bin/../logs/hbase-hanpfei0306-master-ThundeRobot.outOpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0Could not start ZK at requested port of 2181. ZK was started at port: 2182. Aborting as clients (e.g. shell) will not be able to find this ZK quorum.

需要安装 Java 且其处于可用状态。如果你遇到了一个错误,指示 Java 没有安装,但它已经在你的系统中了,则可能位于非标准位置,编辑 conf/hbase-env.sh 文件并修改 JAVA_HOME 设置,使其指向包含了你的系统的 bin/java 的目录。

过程:首次使用 HBase

连接 HBase

使用 hbase shell 命令连接运行中的 HBase 实例,它位于你的 HBase 安装的 bin/ 目录下。在本示例中,省略了一些启动 HBase Shell 时打印的用法和版本信息。HBase Shell 提示以一个 > 字符结尾。

12

$ bin/hbase shellhbase(main):001:0>

显示 HBase Shell 帮助文本

键入 help 并按回车,来显示一些 HBase Shell 基本的用法信息,以及一些命令示例。注意所有的表名,行,列必须用单引号字符引起来。

创建表

使用 create 命令创建一个新表。你必须指定表名和 ColumnFamily 名。

1234

hbase(main):002:0> create 'test', 'cf'0 row(s) in 1.3540 seconds=> Hbase::Table - test

列出关于表的信息

使用 list 命令来做到这一点:

1234567

=> Hbase::Table - testhbase(main):003:0> listTABLE test 1 row(s) in 0.0150 seconds=> ["test"]

向表中放入数据

要向表中放入数据,使用 put 命令。

12345678

hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1'0 row(s) in 0.0990 secondshbase(main):005:0> put 'test', 'row2', 'cf:b', 'value2'0 row(s) in 0.0080 secondshbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3'0 row(s) in 0.0050 seconds

这里,我们插入了三个值,每次一个。第一次插入在 row1,列 cf:a,值为 value1。HBase中的列由列族前缀,本示例中是 cf,后跟一个逗号,及列限定符后缀,本示例中是 a 组成。

一次扫描表的所有数据

从 HBase 获取数据的一种方式是扫描。使用 scan 命令扫描表的数据。你可以限定你的扫描,但现在,获取所有数据。

123456

hbase(main):008:0> scan 'test'ROW COLUMN+CELL row1 column=cf:a, timestamp=1488785612445, value=value1 row2 column=cf:b, timestamp=1488785622781, value=value2 row3 column=cf:c, timestamp=1488785633890, value=value33 row(s) in 0.0220 seconds

获得单行数据

要一次获得单行数据,使用 get 命令。

1234

hbase(main):009:0> get 'test', 'row1'COLUMN CELL cf:a timestamp=1488785612445, value=value11 row(s) in 0.0160 seconds

禁用表

如果你想要删除表或修改它的设置,以及一些其它情形,你需要先禁用表,使用 disable 命令。你可以使用 enable 命令重新启用它。

12345

hbase(main):010:0> disable 'test'0 row(s) in 2.2380 secondshbase(main):011:0> enable 'test'0 row(s) in 1.2260 seconds

如果你测试上面的 enable 命令则再次禁用表:

12

hbase(main):012:0> disable 'test'0 row(s) in 2.2200 seconds

丢弃表

要丢弃(删除)表,则使用 drop 命令。

12

hbase(main):013:0> drop 'test'0 row(s) in 1.2280 seconds

退出 HBase Shell

要退出 HBase Shell 并从你的集群断开,使用 quit 命令。HBase 依然在后台运行。

过程:停止 HBase

与提供 bin/start-hbase.sh 脚本来方便地启动 所有 HBase 守护进程的方式相同,bin/stop-hbase.sh 脚本用来停止它们。

123

$ ./bin/stop-hbase.shstopping hbase................$

发起了这个命令之后,它可能花费几分钟来执行关闭。使用 jps 来确保 HMaster 和 HRegionServer 进程的关闭。

上文已经向你展示了如何启动和停止一个独立的 HBase 实例。下一节我们给出 hbase 部署的其它模式的快速概述。

伪分布式本地安装

在学习了快速启动独立模式的工作后,你可以重新配置 HBase 以伪分布式模式运行。伪分布式模式意味着 HBase 依然完全运行于单独的主机上,但每个 HBase 守护进程(HMaster,HRegionServer,和 ZooKeeper )运行于分开的进程中:在独立模式下所有的守护进程运行于一个 jvm 进程/实例中。默认情况下,除非像 快速开始 一节所述那样配置了 hbase.rootdir 属性,你的数据依然存储于 /tmp 下面。在本文的稍后部分,我们将把你的数据存储于 HDFS 上,假设你有 HDFS 可用。你可以跳过 HDFS 配置来继续将数据存储在本地文件系统。

Hadoop配置

这个过程假设你已经在你的本地系统和/或远程系统中,配置好了 Hadoop 和 HDFS,它们正在运行且可访问。它还假设你在使用 Hadoop 2.Hadoop 文档中关于 设置单节点集群 的指南是一个很好的起点。

如果正在运行的话就停止 HBase

如果你已经学完了 快速开始 且 HBase 依然处于运行状态,则停止它。本过程将创建一个全新的 HBase 存储数据目录,因此你之前创建的任何数据库都会丢失。

配置 HBase

编辑 hbase-site.xml 配置。首先,添加下面的属性,它指导 HBase 运行于分布式模式,每个守护进程一个 JVM 实例。

1234

hbase.cluster.distributedtrue

接下来,将 hbase.rootdir 从本地文件系统修改为你的 HDFS 实例,使

操作系统 数据存储 数据库
0
为您推荐
深入浅出实战讲解-Spark框架实战 集中轰炸Spark-从入门到高级应用及优化课程下载

深入浅出实战讲解-Spark框架实战 集中轰炸Spark-从入

课程名称深入浅出实战讲解-Spark框架实战 集中轰炸Spark-从入门到高级应用及优化课程…...

云计算视频实战经典Hadoop学习,资源教程下载

云计算视频实战经典Hadoop学习,资源教程下载

课程名称云计算视频实战经典Hadoop学习,资源教程下载课程目录1.Hadoop的源起与体系介…...

Spark原理精讲与推荐系统实践案例,资源教程下载

Spark原理精讲与推荐系统实践案例,资源教程下载

课程名称Spark原理精讲与推荐系统实践案例,资源教程下载课程目录Spark 概述Spark Cor…...

北风网数据结构学习视频,资源教程下载

北风网数据结构学习视频,资源教程下载

课程名称北风网数据结构学习视频,资源教程下载课程目录01第一讲数组02第二讲简单排序…...

大数据时代互联网社交媒体数据的分析与应用课程,资源教程下载

大数据时代互联网社交媒体数据的分析与应用课程,资源

课程名称大数据时代互联网社交媒体数据的分析与应用课程,资源教程下载课程介绍大数据…...

炼数成金完整17周Hadoop完全入门学习视频教程 Hadoop数据分析平台第三版视频教程下载

炼数成金完整17周Hadoop完全入门学习视频教程 Hadoop

课程名称炼数成金完整17周Hadoop完全入门学习视频教程 Hadoop数据分析平台第三版视频…...