栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 前沿技术 > 大数据 > 大数据系统

2021SC@SDUSC hbase源码分析(一) 项目综述

大数据系统 更新时间:发布时间: 百科书网 趣学号
2021SC@SDUSC hbase源码分析(一) 项目综述

2021SC@SDUSC 山东大学软件学院软件工程应用与实践
2021SC@SDUSC

目录
  • 2021SC@SDUSC hbase源码分析(一) 项目综述
      • hbase相关知识简介
          • 1.Hbase概述
          • 2.Hbase生态项目架构
          • 3.Hbase数据模型
          • 4.Hbase架构
          • 5.Hbase 的应用
      • 项目源码分析方式
      • 项目部署核心流程(伪分布式安装与配置)
          • 1.ubuntu上部署hadoop
          • 2.ubuntu上部署hbase
          • 3.配置完成测试
      • 项目分工:
        • 我负责hbase项目的读写流程的相关代码分析,后续的项目分工会根据进度动态调整。

hbase相关知识简介 1.Hbase概述

当需要进行实时读写或者随机访问大规模的数据集的时候,我们应该优先考虑使用Hbase!

Hbase是Hadoop的生态系统,是建立在Hadoop文件系统(HDFS)之上的分布式、面向列的数据库,通过利用Hadoop的文件系统提供容错能力。

Hbase作为Google Bigtable的开源实现,Google Bigtable利用GFS作为其文件存储系统类似,则Hbase利用Hadoop HDFS作为其文件存储系统;Google通过运行MapReduce来处理Bigtable中的海量数据,同样,Hbase利用Hadoop MapReduce来处理Hbase中的海量数据;Google Bigtable利用Chubby作为协同服务,Hbase利用Zookeeper作为对应。

2.Hbase生态项目架构

3.Hbase数据模型

作为一个分布式、面向列的数据库,存储数据自然是其基础功能,下图为Hbase的物理数据模型:

Hbase通过表格的模式存储数据,每个表格由列和行组成,其中,每个列又被划分为若干个列族(row family)

4.Hbase架构

下图为Hbase的项目组成结构:

通过上图我们可以得出Hbase中的每张表都按照一定的范围被分割成多个子表(HRegion),默认一个HRegion超过 256M 就要被分割成两个,由 HRegionServer管理,管理哪些HRegion由HMaster分配。

5.Hbase 的应用
  • Hbase是用来当有需要写重的应用程序。
  • Hbase可以帮助快速随机访问数据。
  • Hbase被许多公司所采纳,例如,Facebook、Twitter、Yahoo!、Adobe、OpenPlaces、WorldLingo等等。
项目源码分析方式

从hbase官方及github上将源码下载到本地,于虚拟机中部署测试使用相关功能及,项目启动的shell入口相关源码,然后导入到idea中,采用debug方式进行源码的分析学习。

项目部署核心流程(伪分布式安装与配置) 1.ubuntu上部署hadoop

由于虚拟机之前配置过jdk1.8,所以可直接使用

echo $JAVA_HOME

命令查看jdk路径。

  1. 下载hadoop(注意hadoop和hbase的版本兼容问题,参考官方文档)

  2. 在虚拟机中解压,并移动到/usr目录下(所有步骤均由管理员用户操作)

  3. 使用vi /etc/profile 命令添加,并退出保存。

    HADOOP_HOME=/usr/hadoop-3.1.2

    export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin: $PATH

  4. 执行命令 source /etc/profile刷新配置。

  5. 进入 $HADOOP_HOME/etc/hadoop/目录下,执行命令 vi hadoop-env.sh修改JDK环境变量,jdk路径可以通过echo $JAVA_HOME查看。

    export JAVA_HOME=jdk路径

  6. 在 $HADOOP_HOME/etc/hadoop/目录下,执行命令vi core-site.xml

    在 $HADOOP_HOME/etc/hadoop/目录下,执行命令vi hdfs-site.xml

    修改代码如下:
    (上边为core-site.xml,下边为hdfs-site.xml要插入的)

    
    	 
    		hadoop.tmp.dir
    		file:/usr/hadoop-2.10.1/tmp
    		Abase for other temporary directories.
    	
    	
    		fs.defaultFS
    		hdfs://localhost:9000
    	
    
    
    
    
    	 
    		dfs.replication
    		1
    	
    	
    		dfs.namenode.name.dir
    		file:/usr/hadoop-2.10.1/tmp/dfs/name
    	
    	
    		dfs.datanode.data.dir
    		file:/usr/hadoop-2.10.1/tmp/dfs/data
    	
    
    
  7. 将NameNode格式化,执行hdfs namenode -format命令

  8. 接下来要开启NameNode进程和DataNode进程,命令为:start-dfs.sh(如果没配置ssh免密登路,需要输入三次密码)

  9. 输入jps命令,如果有jps,SecondaryNameNode,NameNode,DataNode则说明配置成功

2.ubuntu上部署hbase
  1. 下载解压导相关目录(同上)

  2. 执行 vi /etc/profile,然后配置Hbase_HOME 和 PATH,效果如下图:

    保存后执行 source /etc/profile 来刷新配置。

  3. 修改 $Hbase_HOME/conf/ 目录下的 hbase-env.sh
    添加 JAVA_HOME,文件中自带了,只需要取消注释即可:

    (同hadoop配置)

  4. 修改 $Hbase_HOME/conf/ 目录下的 hbase-site.xml

    注意:这里的url要和hadoop相关配置文件相同,如下图:

3.配置完成测试

先将hadoop启动,再将hbase启动后,运行截图如下:



hbase可使用:

至此,hbase的伪分布式部署完成。

项目分工: 我负责hbase项目的读写流程的相关代码分析,后续的项目分工会根据进度动态调整。
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/279763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号