文档章节

【HBase】 - 单机模式、伪分布式、完全分布式配置

ZeroneLove
 ZeroneLove
发布于 02/25 09:03
字数 1314
阅读 20
收藏 1

Hbase 简介

Hbase: Hadoop Database

Hbase是非关系型数据库,随着现在互联网的数据量越来越多,需求更加多元化,传统的关系型数据库无法满足实际的业务需求,NoSql类型数据库孕育而生。

传统RDBMS缺陷:

  1. 对单机性能的要求比较高,当存储海量数据时,单机的性能可能达到顶峰仍然不能满足业务需求
  2. 传统关系型数据库表的字段不能改变,对于一些个性化需求产生的非结构化数据,无法处理
  3. 传统关系型数据库的容量有限,将海量数据存储在一张表中,通过分库/hash一致性等方法对数据的存储和查询效率比较低

Nosql数据库:

可用于存储非结构化数据,同时采用分布式的设计基本可实现整个数据库容量的无限扩容,同时对单机的性能要求不高,基于Google的big table论文实现,HBase通过行键、列族、列实现表字段的无限扩展。

例如

address字段,可将address设定为一个列族,address:provice、address:city、address:area 3个列来表示不同的地域,北京可只用address:city、address:area两个列,广东可使用address:provice、address:city、address:area三个列,这样就可满足不同地域的所有要求,如果需要引入国家,直接添加一个新的列:address:country即可,这样就可解决关系型数据库字段固定导致不灵活的缺陷


HBase 三种部署模式

Hbase 部署模式:单机模式、伪分布式、完全分布式

基础:Hadoop技术体系框架基于Java开发,因此配置Hadoop框架需事先配置好JDK

注意:HBase和Hadoop存在版本匹配的关系

单机模式

单机模式:Hbase单机独立运行 配置步骤:

  1. 配置$HBASE_HOME/conf/hbase-env.sh
设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112
  1. 配置$HBASE_HOME/conf/hbase-site.xml
<property>
	<name>hbase.rootdir</name>
	<value>file:///usr/local/hbase0.90.5/data</value>
</property>

解释:

hbase.rootdir:hbase存放数据的目录:file://表示本地问文件系统存储(实际存储HDFS) 3. 启动Hbase: $HBASE_HOME/bin/start-hbase.sh 4. 验证Hbase是否成功启动:控制台输入jps,如果出现Hmaster的线程表示成功开启 5. hbase shell:若能成功进入shell界面,表示Hbase的启动和配置都没问题

伪分布模式

伪分布模式:Hbase单机模拟Hbase数据库集群

安装步骤:

  1. 配置$HBASE_HOME/conf/hbase-env.sh
设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112
设置export HBASE_CLASSPATH:export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf

解释:HBASE_CLASSPATH绑定Hbase到Hadoop集群:主要是hadoop的core-site.xml

  1. 配置$HBASE_HOME/conf/hbase-site.xml
<property>
	<name>hbase.rootdir</name>  
	<value> file:///usr/local/hbase0.90.5/data </value>
</property>
<property>
	<name>hbase.cluster.distributed </name>  
	<value>true </value>
</property>

解释:hbase.cluster.distributed :是否开启Hbase的分布式集群

  1. Hbase和hadoop存在版本匹配问题:如果出现Hmaster无法或者创建的情况,可将主机上的Hadoop核心包hadoop-core-XXXX.jar替换HBase lib目录下的Hadoop-core-XXX.jar
  2. 启动Hbase: $HBASE_HOME/bin/start-hbase.sh
  3. 验证Hbase是否成功启动:控制台输入jps,如果出现Hmaster的线程表示成功开启
  4. hbase shell:若能成功进入shell界面,表示Hbase的启动和配置都没问题

完全分布式

完全分布式:真实的HBase部署环境

安装步骤:

  1. 配置$HBASE_HOME/conf/hbase-env.sh
设置JAVA_HOME环境变量:JAVA_HOME:/usr/local/jdk1.8.0_112
设置export HBASE_CLASSPATH:export HBASE_CLASSPATH=/usr/local/hadoop-0.20.2/conf
  1. 去除注释:export HBASE_MANAGES_ZK=false 使用Hbase自带的ZooKeeper处理

解释:HBASE_CLASSPATH绑定Hbase到Hadoop集群:主要是hadoop的core-site.xml

  1. 配置$HBASE_HOME/conf/hbase-site.xml以及regionservers文件(节点IP)
<property>
	<name>hbase.rootdir</name>  
	<value> file:///usr/local/hbase0.90.5/data </value>
</property>
<property>
	<name>hbase.cluster.distributed </name>  
	<value>true </value>
</property>
<property>
	<name>hbase.zookeeper.quorum</name>
	<value>master,slaves01,slaves02</value>
</property>

解释:hbase.zookeeper.quorum:Zookeeper的Znode节点,也就是HBase集群每个节点服务器主机名,需在Hosts里面进行指定或者通过DNS服务器进行主机名解析,这里使用Hbase自带的Zookeeper进行处理

  1. Hbase和hadoop存在版本匹配问题:如果出现Hmaster无法或者创建的情况,可将主机上的Hadoop核心包hadoop-core-XXXX.jar替换HBase lib目录下的Hadoop-core-XXX.jar

  2. 启动Hbase: $HBASE_HOME/bin/start-hbase.sh

  3. 验证Hbase是否成功启动:控制台输入jps,如果出现Hmaster的线程表示成功开启

  4. hbase shell:若能成功进入shell界面,表示Hbase的启动和配置都没问题

注意:实际环境中Hbase的数据存储是构建于Hadoop HDFS基础上,只需配置hbase-site.xml文件指定HBase数据存储路径即可:

<property>
	<name>hbase.rootdir</name>  
	<value>master:9090/hbase </value>
</property>

解析:

master:9090/hbase

  • master:表示Hadoop集群的Namenode节点主机名
  • 9090:HDFS的服务端口,对应Hadoop core.site.xml: fs.default.name属性
  • /hbase:HDFS的根目录上存储HBase数据目录(自动创建)

HBase成功启动的界面:HMaster/HRegionServer

© 著作权归作者所有

ZeroneLove
粉丝 6
博文 164
码字总数 133695
作品 0
深圳
高级程序员
私信 提问
【HBase】之 初识(单机模式)

零、HBase初识 (1)HBase是什么? HBase是面向列的数据库,基于BigTable的思想,有较好的一致性和伸缩性。 (2)HBase有什么特性? ① 伸缩性 ② 内置特性:版本控制、压缩、垃圾回收(对于...

fanfan4569
2017/12/07
0
0
hadoop单机模式和伪分布式,全分布式的区别

单机模式(standalone) 单机模式是Hadoop的默认模式。这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统。当首次解压Hadoop的源码包时,Hadoop无法了解硬...

Anuge
2017/10/29
871
0
hadoop学习笔记2---hadoop的三种运行模式

1、单机模式 安装简单,在一台机器上运行服务,几乎不用做任何配置,但仅限于调试用途。没有分布式文件系统,直接读写本地操作系统的文件系统。 2、伪分布式模式 在单节点上同时启动namenod...

断臂人
2018/06/12
0
0
好程序员大数据笔记之:Hadoop集群搭建

在学习大数据的过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天集中总结以下笔记,希望对各位同学...

好程序员IT
05/21
17
0
Hadoop单机版和伪分布式部署

说明:本文的hadoop安装环境为Ubuntu环境。 运行Hadoop集群的准备工作 1. 安装JDK,配置Java环境 2. SSH免登录(这一步可以忽略,但是启动hadoop的时候,需要手动为每个节点服务输入密码) 先确...

Mr_YangFei
2016/03/24
67
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
今天
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
今天
8
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
今天
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
今天
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部