HBase2.2.2安装和编程实践指南

承接上一篇:分布式文件系统HDFS上机实践

分布式数据库HBase

一、HBase介绍

HBase是一个分布式的、面向列的开源数据库,源于Google的一篇论文《BigTable:一个结构化数据的分布式存储系统》。HBase以表的形式存储数据,表有行和列组成,列划分为若干个列族/列簇(column family)。
它是Hadoop的生态系统,提供对数据的随机实时读/写访问,是Hadoop文件系统的一部分。
可以直接或通过HBase的存储HDFS数据。使用HBase在HDFS读取消费/随机访问数据。 HBase在Hadoop的文件系统之上,并提供了读写访问。

HDFS HBase
HDFS是适于存储大容量文件的分布式文件系统。 HBase是建立在HDFS之上的数据库。
HDFS不支持快速单独记录查找。 HBase提供在较大的表快速查找
它提供了高延迟批量处理;没有批处理概念。 它提供了数十亿条记录低延迟访问单个行记录(随机存取)。
它提供的数据只能顺序访问。 HBase内部使用哈希表和提供随机接入,并且其存储索引,可将在HDFS文件中的数据进行快速查找。

HBase的运行有三种模式:

单机模式、伪分布式模式、分布式模式

  • 单机模式:在一台计算机上安装和使用HBase,不涉及数据的分布式存储;
  • 伪分布式模式:在一台计算机上模拟一个小的集群;
  • 分布式模式:使用多台计算机实现物理意义上的分布式存储。这里出于学习目的,我们只重点讨论单机模式和伪分布式模式。

具体可看:https://blog.csdn.net/weixin_43576422/article/details/107871504

运行环境:

本教程运行环境是在Ubuntu-64位系统下(比如Ubuntu18.04,Ubuntu16.04或Ubuntu14.04)
Hadoop3.1.3
HBase版本为hbase-2.2.2,
这是目前已经发行的已经编译好的稳定的版本,带有src的文件是未编译的版本,这里我们只要下载bin版本hbase-2.2.2-bin.tar.gz就好了。下载地址:http://archive.apache.org/dist/hbase/

二、安装并配置HBase2.2.2

在安装HBase之前,请确保你的电脑已经安装了Hadoop3.1.3,由于HBase对Hadoop具有版本依赖性,所以,在安装HBase2.2.2时,一定要首先安装Hadoop3.1.3。
在这里插入图片描述

1 进入存放压缩包目录,解压安装包hbase-2.2.2-bin.tar.gz至路径 /usr/local,命令如下:

sudo tar -zxf hbase-2.2.2-bin.tar.gz -C /usr/local

1.2 将解压的文件名hbase-2.2.2改为hbase,以方便使用,命令如下:

cd /usr/local
sudo mv ./hbase-2.2.2 ./hbase

下面把hbase目录权限赋予给hadoop用户:

sudo chown -R hadoop ./hbase

1.3 配置环境变量
将hbase下的bin目录添加到path中,这样,启动hbase就无需到/usr/local/hbase目录下,大大的方便了hbase的使用。教程下面的部分还是切换到了/usr/local/hbase目录操作,有助于初学者理解运行过程,熟练之后可以不必切换。如果之前有操作过,这里应该很好理解。
编辑/etc/profile文件

vim /etc/profile

如果没有引入过PATH请在~/etc/profile件尾行添加如下内容:

export PATH=$PATH:/usr/local/hbase/bin

如果已经引入过PATH请在export PATH这行追加/usr/local/hbase/bin,这里的“:”是分隔符。如下图:
在这里插入图片描述

使其生效:

source /etc/profile

补充: 下面这两个文件都是设置全局环境变量,对所有用户都会生效:
etc/profile:
此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设置所有用户使用的全局变量。
/etc/bashrc:
当 bash shell 被打开时,该文件被读取。也就是说,每次新打开一个终端 shell,该文件就会被读取。

2.1单机模式配置

1. 配置/usr/local/hbase/conf/hbase-env.sh 。

配置JAVA环境变量,并添加配置HBASE_MANAGES_ZK为true,用vi命令打开并编辑hbase-env.sh,命令如下:

1.	vim /usr/local/hbase/conf/hbase-env.sh

配置JAVA环境变量。如果你之前已经按照本网站Hadoop安装教程安装Hadoop3.1.3,则已经安装了JDK1.8。JDK的安装目录是/usr/lib/jvm/jdk1.8.0_261, 则JAVA _HOME =/usr/lib/jvm/jdk1.8.0_162;配置HBASE_MANAGES_ZK为true,表示由hbase自己管理zookeeper,不需要单独的zookeeper。hbase-env.sh中本来就存在这些变量的配置,大家只需要删除前面的#并修改配置内容即可(#代表注释):
注:normal模式下按 / 即可进行查找(区分大小写)

1.	export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_261
2.	export HBASE_MANAGES_ZK=true 

添加完成后保存退出即可。

2. 配置/usr/local/hbase/conf/hbase-site.xml

打开并编辑hbase-site.xml,命令如下:

1.	vim /usr/local/hbase/conf/hbase-site.xml

在启动HBase前需要设置属性hbase.rootdir,用于指定HBase数据的存储位置,因为如果不设置的话,hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。此处设置为HBase安装目录下的hbase-tmp文件夹即(/usr/local/hbase/hbase-tmp),添加配置如下:

<configuration>
        <property>
                <name>hbase.rootdir</name>
                <value>file:///usr/local/hbase/hbase-tmp</value>
        </property>
</configuration>
3. 测试运行。

首先切换目录至HBase安装目录/usr/local/hbase;再启动HBase。命令如下:

cd /usr/local/hbase
bin/start-hbase.sh
bin/hbase shell

上述三条命令中,sudo bin/start-hbase.sh用于启动HBase,bin/hbase shell用于打开shell命令行模式,用户可以通过输入shell命令操作HBase数据库,exit退出。
成功启动HBase(有错误Class path包含了多个SLF4J的绑定。分别在目录:/usr/local/hbase/lib和/usr/local/hadoop/hadoop-1.0.3/lib下,解决的办法很简单,只要移除其中一个SLF4J就行了。至于关于错误的替换,不影响使用),截图如下:
在这里插入图片描述

2.2 伪分布式模式配置

1.配置/usr/local/hbase/conf/hbase-env.sh。命令如下:
vim /usr/local/hbase/conf/hbase-env.sh

配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK.
HBASE_CLASSPATH设置为本机HBase安装目录下的conf目录(即/usr/local/hbase/conf)
注意自己的Java版本号,可通过 java -version查看

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_261
export HBASE_CLASSPATH=/usr/local/hbase
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值