Hadoop大数据平台实战(03):Linux实战安装HBase,并保存数据

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: Apache HBase开源免费的Hadoop数据库,使用Java开发的,是一个分布式,可扩展的NoSQL数据库。本文会详细介绍HBase原理、架构、新特性、Linux环境下的安装,安装模式,表创建,简单的CRUD操作。

Apache HBase开源免费的Hadoop数据库,使用Java开发的,是一个分布式,可扩展的NoSQL数据库。本文会详细介绍HBase原理、架构、新特性、Linux环境下的安装,安装模式,表创建,简单的CRUD操作。

image


1、HBase数据库介绍
HBase是开源NoSQL数据库,主要用于大数据平台。受启发于谷歌在2006年发表了一篇关于Big Table的论文。当我们需要对大数据进行随机,实时读/写访问时,可以使用Apache HBase。 HBase可以托管非常大的表 - 数十亿行X百万列,存储大规模不规则的数据集 。
Apache HBase是一个开源的,分布式的,版本化的NoSQL非关系数据库,模仿Google的Bigtable数据库:Chang等人的结构化数据分布式存储系统。 正如Bigtable利用Google文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS之上提供类似Bigtable的功能。

2、HBase新特性
1)线性和模块化可扩展性。
2)严格一致的读写操作。
3)自动分区,分表的自动和可配置分片
4)RegionServers之间的自动故障转移支持。
5)方便的基类,用于使用Apache HBase表支持Hadoop MapReduce作业。
6)易于使用的Java API,用于客户端访问。
7)阻止缓存和布隆过滤器以进行实时查询。
8)查询谓词通过服务器端过滤器下推
9)Thrift网关和REST-ful Web服务,支持XML,Protobuf和二进制数据编码选项
10)可扩展的基于jruby(JIRB)的Shell客户端
11)支持通过Hadoop指标子系统将指标导出到文件或Ganglia; 或通过JMX

3、HBase发展历史

谷歌在2006年发表了一篇关于Big Table的论文,
HBase最初是由Powerset公司开展的一个项目,因为需要处理大量数据以用于自然语言搜索。 并在2006年底开始了HBase的开发。
2007年创建的HBase原型为Hadoop contrib,第一个可用的HBase在2007年发布。
2008年,Hadoop成为Apache顶级项目,HBase成为其子项目。
此外,HBase 0.18,0.19于2008年10月发布。
2010年,HBase成为Apache顶级项目。
HBase 0.92于2011年发布。最新版本为0.96。
Facebook于2010年11月选择使用HBase实施其新的消息传递平台,但在2018年从HBase迁移出来。
截至2017年2月,1.2.x系列是目前的稳定版本。
2019年目前最新的版本是2.1.4版本。
4、HBase架构
HBase采用分布式架构,底层使用HDFS存储数据,支持区域RegionServer机制,自动分区扩展集群,支持大数据扩展。存储数据采用列族ColumnFamily模式。在HBase中,表被分成区域并由区域服务器提供不同的存储服务。 区域按列族垂直划分为“存储区”。 存储区在HDFS中保存为独立的文件。 下面显示的是HBase的分布式存储架构。
image

5、HBase下载安装
下面会详细介绍单节点独立HBase的设置。 独立实例具有所有HBase守护程序 - Master,RegionServers和ZooKeeper - 在单个JVM中运行,持久保存到本地文件系统。
HBase的安装通常分为3种模式:单机、伪分布式集群、完全分布式集群:
Standalone mode
Pseudo Distributed mode
Fully Distributed mode
HBase安装要求先安装JDK,我们使用JDK8版本。推荐使用Open JDK。如果你还不熟悉Hadoop安装过程,可以阅读这个文章:https://yq.aliyun.com/articles/695959
6、安装JDK8
安装开源的JDK8,免费,不会引起收费问题。

sudo apt install default-jdk

image
查看安装版本 Java -version
image
7、安装SSH

sudo apt-get install openssh-server openssh-client
ssh-keygen -t rsa -P ""
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

image

测试登录,不需要密码:
ssh localhost
8、安装HBase数据库

下载地址,我们选择当前的稳定版本1.2.11版本。http://hbase.apache.org/downloads.html。我们选择清华大学的国内服务器镜像。

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/hbase-1.2.11/hbase-1.2.11-bin.tar.gz

image
等待下载完毕,解压,并且移动到安装目录,命令如下:

tar zxvf hbase-1.2.11-bin.tar.gz
tar xvzf hbase-1.2.11-bin.tar.gz
sudo mv hbase-1.2.11 /usr/local/hbase/

image
9、配置HBase环境变量
安装完毕以后,可以配置HBase的环境变量。
使用vim ~/.bashrc编辑配置文件,然后插入HBase环境变量

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

使其生效,source ~/.bashrc
10、HBase编辑配置文件
为了单节点可以编辑配置文件,路径conf/hbase-site.xml,我们可以插入如下的参考配置:我们可以在配置文件里指定HBase和ZooKeeper存储位置,也可以使用默认设置。

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/frankxulei/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/frankxulei/zookeeper</value>
  </property>
  <property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
  </property>
</configuration>

11、启动HBase数据库
使用./start-hbase.sh启动HBase数据库。使用JPS命令检查是否正常运行。
image
这里已经正常启动HBase数据库。
也可以使用status version whoami三个命令 查看状态、版本和账号信息
image
12、测试HBase数据库,创建表,并保存数据

create 'test', 'cf'
put 'test', 'row1', 'cf:name', 'hadoop'
put 'test', 'row1', 'cf:name', 'hbase'
put 'test', 'row1', 'cf:name', 'frankxulei'

image
创建一个表test,列族cf,并且保存3条数据。
image
读取所有数据
scan 'test'
scan 'users'
获取单个值
get 'test', 'row1'
image
后续我们在讲解Hadoop集群架构,HBase底层原理与算法,存储模型,集群搭建。
参考网站:
http://hbase.apache.org/
https://en.wikipedia.org/wiki/Apache_HBase

相关实践学习
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
数据采集 大数据
大数据实战项目之电商数仓(二)
大数据实战项目之电商数仓(二)
|
2月前
|
安全 Java 大数据
大数据软件基础(1)—— Linux
大数据软件基础(1)—— Linux
27 0
|
10天前
|
SQL 分布式计算 关系型数据库
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
Hadoop-12-Hive 基本介绍 下载安装配置 MariaDB安装 3台云服务Hadoop集群 架构图 对比SQL HQL
16 2
|
13天前
|
存储 Java 分布式数据库
HBase构建图片视频数据的统一存储检索
HBase构建图片视频数据的统一存储检索
|
10天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
1月前
|
分布式计算 Hadoop 大数据
【大数据】Hadoop下载安装及伪分布式集群搭建教程
【大数据】Hadoop下载安装及伪分布式集群搭建教程
75 0
|
1月前
|
消息中间件 分布式计算 Hadoop
大数据实战项目之电商数仓(一)
大数据实战项目之电商数仓(一)
|
2月前
|
弹性计算 分布式计算 Hadoop
Linux(阿里云)安装Hadoop(详细教程+避坑)
Linux(阿里云)安装Hadoop(详细教程+避坑)
355 3
|
2月前
|
分布式计算 Hadoop Java
hadoop的基础设施-protobuf-2.5.0编译和安装
hadoop的基础设施-protobuf-2.5.0编译和安装
27 0
|
2月前
|
分布式计算 Hadoop 数据安全/隐私保护
现成Hadoop安装和配置,图文手把手交你
现成Hadoop安装和配置,图文手把手交你