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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库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月前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
289 7
|
1月前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
44 2
|
1天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
22 4
|
16天前
|
数据采集 分布式计算 Hadoop
使用Hadoop MapReduce进行大规模数据爬取
使用Hadoop MapReduce进行大规模数据爬取
|
25天前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
62 4
|
1月前
|
存储 大数据 数据管理
大数据分区简化数据维护
大数据分区简化数据维护
24 4
|
1月前
|
存储 大数据 定位技术
大数据 数据索引技术
【10月更文挑战第26天】
58 3
|
1月前
|
存储 大数据 OLAP
大数据数据分区技术
【10月更文挑战第26天】
66 2
|
1月前
|
消息中间件 分布式计算 大数据
数据为王:大数据处理与分析技术在企业决策中的力量
【10月更文挑战第29天】在信息爆炸的时代,大数据处理与分析技术为企业提供了前所未有的洞察力和决策支持。本文探讨了大数据技术在企业决策中的重要性和实际应用,包括数据的力量、实时分析、数据驱动的决策以及数据安全与隐私保护。通过这些技术,企业能够从海量数据中提取有价值的信息,预测市场趋势,优化业务流程,从而在竞争中占据优势。
112 2
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
184 6
下一篇
DataWorks