开发者社区> 徐雷frank> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【云原生实战】KubeSphere平台安装之Linux单节点和多节点部署
【云原生实战】KubeSphere平台安装之Linux单节点和多节点部署
0 0
《冬季实战营第二期:Linux操作系统实战入门》电子版地址
《冬季实战营第二期:Linux操作系统实战入门》此本电子手册将提供一台配置了Aliyun Linux 2的ECS实例(云服务器)。您可以参考本教程学习Linux系统中的文本编辑工具Vim以及文本处理命令。
0 0
Linux从安装到实战,手把手教学
Linux从安装到实战,手把手教学
0 0
Linux服务器端网络抓包和分析实战
本文实战了CentOS7下的网络抓包,以及windows下通过wireshark分析抓包数据
0 0
Linux网络配置企业级用法实战
一、route命令的局限性 二、动态路由的配置 三、专业路由工具
0 0
路由和Linux网卡配置实战
一、动态主机配置协议DHCP 二、基本网络配置 三、CentOS 6、CentOS 7网卡名称的区别 三、CentOS 6网卡名称 四、CentOS 6网络配置方式 五、配置网络接口 六、route命令
0 0
企业级运维之云原生与Kubernetes实战课程 第三章第2讲 深入剖析linux容器&Pod(下)
理解容器和pod的基本原理以及差异 理解pod创建的过程 理解各个控制器的作用 理解ack集群的网络原理以及coredns的原理
0 0
linux 目录md5校验-实战
linux 目录md5校验-实战
0 0
云上linux实战 搭建英灵神殿游戏服务器
通过搭建linux上游戏服务器,来熟悉ECS的使用
0 0
应用实战精解系列(二十一):Linux下搭建RVB2601开发环境
应用实战精解系列(二十一):Linux下搭建RVB2601开发环境
0 0
+关注
徐雷frank
1.阿里云大学讲师,主讲《微服务Spring Cloud设计与开发实战》《MongoDB高级实战》等课程 2.MongoDB中文社区专家 3.《MongoDB实战》第2版译者 5.吉林大学计算机科学学士、上海交通大学硕士
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili
立即下载
云HBase内核
立即下载
云数据库HBase产品架构场景解析
立即下载