大数据技术原理与应用 第三版 林子雨 期末复习(二) Hadoop HDFS HBase

大数据技术原理与应用 第三版 林子雨 期末复习(二) Hadoop HDFS HBase

  • Hadoop生态系统
  • HDFS
    • HDFS结构
    • Name Node与Second Name Node与Data Node
    • 数据冗余存储
    • HDFS的数据读写过程
  • HBase
    • 定义
    • HBase数据模型
    • HBase功能组件
    • HBase运行机制
  • 相关命令
    • HDFS
    • HBase

Hadoop生态系统

大数据技术原理与应用 第三版 林子雨 期末复习(二) Hadoop HDFS HBase_第1张图片

HDFS

HDFS结构

Name Node(主节点、名称节点)
文件的创建删除等操作,同时管理数据节点和文件映射的关系
Second Name Node(第二名称节点)
冷备份、减缓主节点存储压力
Data Node(从节点、数据节点)
存储数据

块大小:64MB或128MB

Name Node与Second Name Node与Data Node

Name Node内包含两个文件:FsImage、Editlog
FsImage可以看作一个文件的快照,内容包括了块大小以及组成文件、访问权限等
Editlog可以看作为一个编辑日志,内容包括了对文件进行的一系列操作

Name Node启动时会将FsImage读入内存中,然后执行Editlog内容更新FsImage并删除旧Editlog

Data Node 是分布式文件系统HDFS的工作节点,负责数据的存储以及读取,每个数据文件均保存在Data Node的Linux文件系统中。

Second Node用于解决Editlog逐渐变大的问题具体操作如下:
大数据技术原理与应用 第三版 林子雨 期末复习(二) Hadoop HDFS HBase_第2张图片
由于上述操作导致若在t1~t2之间出现错误,将会造成数据丢失。同样因为每隔一段时间拉取FsImage、EditLog所以Second Name Node 能够在一定程度上起到冷备份的作用。

数据冗余存储

默认情况下HDFS保存3份同样数据,保证容灾性。

HDFS的数据读写过程

大数据技术原理与应用 第三版 林子雨 期末复习(二) Hadoop HDFS HBase_第3张图片

HBase

定义

HBase是一个高可靠、高性能、可伸缩的面向列的键值分布式数据库

HBase数据模型

HBase四维坐标
<行键、列族、列限定符、时间戳>
大数据技术原理与应用 第三版 林子雨 期末复习(二) Hadoop HDFS HBase_第4张图片

HBase功能组件

HBase总共包含三个组件:
(1)库函数
(2)一个Master主服务器:用于管理和维护Reigon分区表信息
(3)多个Reigon服务器:用于存储Reigon
注意的是客户端并不是直接从Master服务器获取Reigon地址而是从Zookeeper中获取
同时客户端也不是从Master中获取数据而是取得Reigon位置信息后从Reigon服务器中获取
Reigon定义:一个行区间

HBase运行机制

当客户端取数据时候需要三层访问
层次 名称 作用
第一层 Zookeeper文件 记录ROOT表的位置信息
第二层 -ROOT-表 记录.META表的Reigon位置信息,-ROOT-表只有一个Reigon。通过-ROOT-表可以访问.META中的信息
第三层 .META表 存储用户数据表中的信息.META可以有多个Reigon,保存所有位置信息

层次 名称 作用
第一层 Zookeeper文件 记录ROOT表的位置信息
第二层 -ROOT-表 记录.META表的Reigon位置信息,-ROOT-表只有一个Reigon。通过-ROOT-表可以访问.META中的信息
第三层 .META表 存储用户数据表中的信息.META可以有多个Reigon,保存所有位置信息

相关命令

HDFS

hdfs文件的相关操作主要使用hadoop fs、hadoop dfs、hdfs dfs 命令,以下对最常用的相关命令进行简要说明。
hadoop fs -ls 显示当前目录结构,-ls -R 递归显示目录结构
hadoop fs -mkdir 创建目录
hadoop fs -rm 删除文件,-rm -R 递归删除目录和文件
hadoop fs -put [localsrc] [dst] 从本地加载文件到HDFS
hadoop fs -get [dst] [localsrc] 从HDFS导出文件到本地
hadoop fs - copyFromLocal [localsrc] [dst] 从本地加载文件到HDFS,与put一致
hadoop fs -copyToLocal [dst] [localsrc] 从HDFS导出文件到本地,与get一致
hadoop fs -test -e 检测目录和文件是否存在,存在返回值$?为0,不存在返回1
hadoop fs -text 查看文件内容
hadoop fs -du 统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位
hadoop fs -tail 显示文件末尾
hadoop fs -cp [src] [dst] 从源目录复制文件到目标目录
hadoop fs -mv [src] [dst] 从源目录移动文件到目标目录

HBase

list 列出Hbase中存在的所有表
alter 修改列簇(column family)模式
count 统计表中行的数量
create 创建表
describe 显示表相关的详细信息
delete 删除指定对象的值(可以为表,行、列对应的值,另外也可以指定时间戳的值)
deleteall 删除指定行的所有元素值
disable 使表无效
drop 删除表
enable 使表有效
exists 测试表是否存在
exit 退出Hbaseshell
get 获取行或单元(cell)的值
incr 增加指定表,行或列的值
put 向指向的表单元添加值
tools列出Hbase所支持的工具
scan 通过对表的扫描来获取对用的值
status 返回Hbase集群的状态信息
shutdown 关闭Hbase集群(与exit不同)

本文及后续文章内容均由个人总结,仅用于复习记录,如发现错误请大家伙指正,侵删。

你可能感兴趣的:(大数据技术,hadoop,hdfs,hbase,大数据)