首页 > 其他分享 >Hbase讲解与安装与配置部署

Hbase讲解与安装与配置部署

时间:2024-11-07 09:47:57浏览次数:3  
标签:opt 部署 module etc HBase 讲解 hbase 数据 Hbase

目录

1.讲解

一、HBase的起源与背景

二、HBase的特点

三、HBase的架构

四、HBase的数据模型

五、HBase的访问接口

六、HBase的使用场景

2.安装

3.配置部署

1.讲解

HBase是一个分布式的、面向列的开源数据库,它是Apache Hadoop项目的子项目。以下是对HBase的详细讲解:

一、HBase的起源与背景

HBase的技术来源于Fay Chang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。HBase在Hadoop之上提供了类似于Bigtable的能力,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

二、HBase的特点

高可靠性:HBase采用了自动故障检测和恢复技术,可以实现数据的高可靠性。

高性能:HBase采用了基于Memcached的存储引擎,可以实现高速的读写操作。同时,HBase支持高效的随机读写操作,可以在毫秒级别内完成数据访问。

面向列:与一般的关系数据库不同,HBase是基于列的而不是基于行的模式。这意味着在HBase中,数据是按照列族(Column Family)来组织的,而不是按照行来组织的。

可伸缩性:HBase采用了分布式存储和计算技术,可以实现数据的水平扩展。它可以处理PB级别的数据量,适合于存储大规模的数据。

实时性:HBase支持基于数据流的实时数据处理,可以实现数据的实时生成、传输和处理。这使得HBase在实时数据处理和可视化方面具有重要的应用价值。

三、HBase的架构

HBase的架构包括以下几个主要组件:

RegionServer:RegionServer是Region的管理者,主要负责对Region的操作,如分裂(Split)和合并(Compact)等。

Master:Master是所有RegionServer的管理者,主要负责对RegionServer的监控、负载均衡和故障转移等操作。同时,Master还负责维护HBase的元数据。

Zookeeper:Zookeeper为HBase提供了稳定服务和failover机制。它记录了HBase集群的元数据信息,如-ROOT-和.META.表的位置等。客户端在访问HBase数据之前,需要先通过Zookeeper找到相应的元数据信息。

HDFS:HDFS为HBase提供了高可靠性的底层存储支持。HBase利用HDFS来存储实际的数据文件。

四、HBase的数据模型

HBase的数据模型包括以下几个主要概念:

表(Table):HBase中的表是一个有序的key-value存储结构,可以存储大量的数据。

行(Row):HBase中的行是表中的基本单位,每行包含多个列。行是由行键(Row Key)唯一标识的。

列族(Column Family):列族是一组相关列的集合。在HBase中,定义表时只需要声明列族即可,不需要声明具体的列。这意味着往HBase写入数据时,字段可以动态、按需指定。

列(Column):列是由列族和列限定符(Column Qualifier)组成的。例如,“info:name”就是一个列,其中“info”是列族,“name”是列限定符。

版本(Version):HBase中的版本用于记录同一行同一列的不同值。每条数据写入时,如果不指定时间戳(Timestamp),系统会自动为其加上该字段,其值为写入HBase的时间。

五、HBase的访问接口

HBase提供了多种访问接口,方便用户进行数据操作:

Native Java API:这是最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据。

HBase Shell:HBase的命令行工具,最简单的接口,适合HBase管理使用。

Thrift Gateway:利用Thrift序列化技术,支持C++、PHP、Python等多种语言,适合其他异构系统在线访问HBase表数据。

REST Gateway:支持REST风格的Http API访问HBase,解除了语言限制。

Pig:可以使用Pig Latin流式编程语言来操作HBase中的数据。Pig最终会将操作编译成MapReduce Job来处理HBase表数据。

Hive:Hive提供了类似SQL的查询语言来访问HBase中的数据。但需要注意的是,并不是所有版本的Hive都支持HBase。

六、HBase的使用场景

HBase主要应用于以下场景:

海量数据存储:HBase可以处理PB级别的数据量,适合于存储大规模的数据,如日志数据、监控数据、交易数据等。

低延迟读写:HBase支持高效的随机读写操作,可以在毫秒级别内完成数据访问,适合于需要实时访问和查询数据的场景。

高并发读写:HBase可以支持大量的并发读写操作,可以处理数百万级别的并发访问请求,适合于需要处理高并发访问的场景。

数据分析和挖掘:HBase支持多种过滤器和聚合函数,可以对数据进行精确的过滤和统计分析,适合于需要进行数据分析和挖掘的场景。

实时计算和流处理:HBase可以与Apache的其他组件(如Storm、Spark等)集成,实现实时计算和流处理。

HBase是一个高性能、高可靠性、面向列、可伸缩的分布式存储系统。它在大数据处理、实时监控、实时分析等领域具有广泛的应用前景。

2.安装
我使用的是linux-centos系统 Hbase的版本是2.2.3

上传压缩包至/opt/software/software

解压hbase压缩包:(/opt/software)

tar -zxvf /opt/software/hbase-2.2.3-bin.tar.gz -C /opt/module

改名:(/opt/module)

mv /opt/module/hbase-2.2.3 /opt/module/hbase

3.配置部署
前置要求安装jdk和hadoop

配置环境变量:

vi /etc/profile

export HBASE_HOME=/opt/module/hbase

export PATH=$HBASE_HOME/bin:$PATH

使环境变量生效:

source /etc/profile

修改配置文件:(/opt/module/hbase/conf)

vi /opt/module/hbase/conf/hbase-env.sh

(去掉注释并修改)或者(直接在下面添加)

export JAVA_HOME=/opt/module/jdk

export HBASE_CLASSPATH=/opt/module/hbase/conf

export HBASE_MANAGES_ZK=false

vi /opt/module/hbase/conf/hbase-site.xml

(8020或9000,看hadoop配置的,我这里是8020)

  <property>

    <name>hbase.rootdir</name>

    <value>hdfs://master:8020/hbase</value>

  </property>

  <property>

    <name>hbase.cluster.distributed</name>

    <value>true</value>

  </property>

  <property>

    <name>hbase.zookeeper.quorum</name>

    <value>master,slave1,slave2</value>

  </property>

  <property>

    <name>hbase.tmp.dir</name>

    <value>/opt/module/hbase/data/tmp</value>

  </property>

  <property>

    <name>hbase.zookeeper.property.dataDir</name>

    <value>/opt/module/hbase/data/zookeeper/</value>

  </property>

  <property>

    <name>hbase.master.info.port</name>

    <value>16010</value>

  </property>

vi /opt/module/hbase/conf/regionservers

(去掉localhost,并添加以下内容)

master

slave1

slave2

复制给子节点:(前置:基础环境配置完毕ssh和/etc/host)

scp -r /opt/module/hbase/ slave1:/opt/module/hbase

scp -r /opt/module/hbase/ slave2:/opt/module/hbase

scp /etc/profile slave1:/etc/profile

scp /etc/profile slave2:/etc/profile

(记得source /etc/profile)

启动hbase:

start-hbase.sh

查看启动:

jps

slave1:

source /etc/profile

查看进程:

jps

slave2

source /etc/profile

查看进程:

jps

标签:opt,部署,module,etc,HBase,讲解,hbase,数据,Hbase
From: https://blog.csdn.net/2403_88719012/article/details/143586149

相关文章

  • DB GPT本地安装部署
    源码下载gitclonehttps://github.com/eosphoros-ai/DB-GPT.gitMiniconda环境安装Miniconda安装mkdir-p~/miniconda3wgethttps://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh-O~/miniconda3/miniconda.shbash~/miniconda3/miniconda.sh-b-u......
  • 线上部署面试蛙
    线上部署面试蛙1.核心部署一本地准备修改代码:去掉es、sentinel、hotkey第三方代码,保证核心代码能够线上运行修改application-prod.yml,主要配置线上mysql、redis信息maven打包上传jar包到宝塔二宝塔部署-后端添加项目启动命令:(等待半分钟后刷新页面查看是否显示......
  • IP协议讲解
    发送报文->我们需要进行路径选择主机和路由器统称为节点IP协议:解决什么问题呢?提供一种能力,将数据包跨网络从B发送到A主机目标地址=所在城市+目标景点IP地址=目标网络+目标主机在学习网络时认识1.网络不是凭空产生的,是有人为我们建设的2.网络世界时精心设计的,像OS......
  • 基于微信小程序的智慧停车系统设计与实现(源码+springboot+uinapp+部署文档+讲解等)
    收藏关注不迷路!!......
  • 基于SpringBoot+Vue的学生档案管理系统(源码+LW+调试文档+讲解)
    背景及意义目的档案信息整合与存储:基于SpringBoot+Vue的学生档案管理系统,目的是将学生的各类档案信息进行整合和存储。包括学生的个人基本信息(姓名、性别、出生日期、民族、籍贯等)、学业信息(入学成绩、每学期各科成绩、考试排名、奖惩情况等)、家庭背景信息(家庭成员、......
  • 3分钟部署生产级k8s集群
    3分钟部署生产级k8s集群什么是sealos?sealos:sealos是一个kubernetes高可用安装工具,一条命令,离线安装,包含所有依赖,内核负载不依赖haproxykeepalived,纯golang开发,99年证书,支持v1.14.9v1.15.6v1.16.3v1.17.0。概览图​​前提条件安装并启动docker,高版本离线包自......
  • C语言数据结构--详细讲解算法复杂度
    C语言数据结构-算法复杂度前言一、时间复杂度1.大O渐进表示法2时间复杂度的计算二、空间复杂度1.什么是空间复杂度2时间复杂度的计算总结前言我们都清楚计算机存储和组织数据是通过数据结构来实现的。当计算机对这些数据结构中的数据进行遍历等操作时,这个过程就......
  • 基于Azure DevOps 的 CICD 项目部署(.Net Core)
    使用微软的来进行CICD链接:https://dev.azure.com创建新项目3.创建项目名称4.选择仓库地址5.选择空模板6.创建代理池7.按照以下步骤把代理部署到服务器上8.连接你的服务器9.创建新的文件夹mkdirmyangecdmyagent10.可通过链接下载文件wgethttps://vstsa......
  • SpringBoot小说阅读网s8w30--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着互联网技术的普及,网络文学逐渐成为一种重要的文化现象。然而,当前市场上的小说阅读网站大多存在功能单一、用户体验不佳等问......
  • SpringBoot小学生在线数学学习平台m0ncg(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着互联网技术的普及,在线学习已成为教育领域的重要趋势。小学生作为基础教育阶段的重要群体,其数学学习效果直接影响到后续学业......