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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生网关 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

相关实践学习
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
目录
相关文章
|
5天前
|
存储 分布式计算 资源调度
两万字长文向你解密大数据组件 Hadoop
两万字长文向你解密大数据组件 Hadoop
26 11
|
12天前
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
69 12
|
1月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
45 3
Hadoop集群配置https实战案例
|
1月前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
81 11
|
1月前
|
分布式计算 监控 Hadoop
监控Hadoop集群实战篇
介绍了监控Hadoop集群的方法,包括监控Linux服务器、Hadoop指标、使用Ganglia监控Hadoop集群、Hadoop日志记录、通过Hadoop的Web UI进行监控以及其他Hadoop组件的监控,并提供了相关监控工具和资源的推荐阅读链接。
48 2
|
2月前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
101 0
|
2月前
|
存储 分布式计算 大数据
MaxCompute 数据分区与生命周期管理
【8月更文第31天】随着大数据分析需求的增长,如何高效地管理和组织数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个专为海量数据设计的计算服务,它提供了丰富的功能来帮助用户管理和优化数据。本文将重点讨论 MaxCompute 中的数据分区策略和生命周期管理方法,并通过具体的代码示例来展示如何实施这些策略。
82 1
|
2月前
|
分布式计算 安全 大数据
MaxCompute 的安全性和数据隐私保护
【8月更文第31天】在当今数字化转型的时代背景下,企业越来越依赖于大数据分析来推动业务增长。与此同时,数据安全和隐私保护成为了不容忽视的关键问题。作为阿里巴巴集团推出的大数据处理平台,MaxCompute(原名 ODPS)致力于为企业提供高效、安全的数据处理解决方案。本文将探讨 MaxCompute 在数据安全方面的实践,包括数据加密、访问控制及合规性考虑等方面。
69 0
|
4月前
|
NoSQL Java Linux
linux 安装 neo4j简介
Neo4j是高性能NoSQL图形数据库,利用图结构存储数据。推荐使用JDK 11配合Neo4j 3.x版本。下载3.5.9版,通过`curl`命令在Linux上获取tar.gz文件,然后解压。配置`neo4j.conf`,调整内存设置,开启远程访问。执行`./bin/neo4j start`启动,通过`http://服务器IP:7474`访问,默认凭据是username: neo4j, password: neo4j,登录后应更改密码。
330 0
|
存储 缓存 Ubuntu
【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介(二)
【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介(二)
198 0
下一篇
无影云桌面