总结:HDFS+YARN+HIVE

第一章 Hello大数据&分布式

Part1 数据导论

一. 数据

数据:一种可以被鉴别的对客观事件进行记录的符号。简单来说就是:对人类的行为及产生的事件的一种记录。

二. 数据的价值
  • 对数据的内容进行深入分析,可以更好的帮助了解事和物在现实世界的运行规律
  • 比如,购物的订单记录(数据)可以帮助平台更好的了解消费者,从而促进交易。

Part2 大数据诞生

Part3 大数据概述

一. 什么是大数据

狭义上:大数据是一类技术栈,是一种用来处理海量数据的软件技术体系。

广义上:大数据是数字化时代、信息化时代的基础(技术)支撑,以数据为生活赋能。

二.大数据特征

从海量的高增长、多类别、低信息密度的数据中挖掘出高质量的结果

三.大数据的核心工作

数据计算

数据存储

数据传输

Part4 大数据软件生态

一. 大数据软件生态

数据存储: Apache Hadoop - HDFS, Apache HBase, Apache KUDU, 云存储

数据计算: Apache Hadoop - MapReduce, Apache Hive,Apache Spark, Apache Flink

数据传输: Apache Kafka, Apache Pulsar, Apache Flume,Apache Sqoop

Part5 Apache Hadoop 概述

一. Hadoop概念
  • 分布式数据存储 - HDFS组件
  • 分布式数据计算 - MapReduce组件
  • 分布式资源调度 - YARN组件

第二章 分布式存储Hadoop HDFS

Part1 为什么需要分布式存储

  • 数据量太大,单机存储能力有上限,需要靠数量来解决问题
  • 数量的提升带来的是网络传输、磁盘读写、CPU、内存等各方面的综合提升。 分布式组合在一起可以达到1+1>2的效果

Part2 分布式的基础架构分析

一. 分布式的基础架构 - 2类架构模式

去中心化模式:没有明确的中心。众多服务器之间基于特定规则进行同步协调

中心化模式: 有一个中心节点(服务器)来统筹其它服务器的工作,统一指挥,统一调派,避免混乱 – 主从模式(Master And Slaves)

Part3 HDFS基础架构

一. HDFS

HDFS是Hadoop三大组件(HDFS、MapReduce、YARN)之一

  • 全称是:Hadoop Distributed File System(Hadoop分布式文件系统)

  • 是Hadoop技术栈内提供的分布式数据存储解决方案

  • 可以在多台服务器上构建存储集群,存储海量的数据

  • HDFS是一个典型的主从模式架构

二. HDFS的基础架构

HDFS集群:

  • 主角色 : NameNode – 唯一的
    • HDFS系统的主角色,是一个独立的进程
    • 负责管理HDFS整个文件系统
    • 负责管理DataNode
  • 从角色 : DataNode - 若干个
    • HDFS系统的从角色,是一个独立进程
    • 主要负责数据的存储,即存入数据和取出数据
  • 主角色辅助角色: SecondaryNameNode
    • NameNode的辅助,是一个独立进程
    • 主要帮助NameNode完成元数据整理工作(打杂)

Part4 HDFS集群环境部署

一. 部署步骤

1. 下载安装包 - hadoop-3.3.6.tar.gz

2. 集群规划

节点 服务
node1 NameNode, DataNode,SecondaryNameNode
node2 DataNode
node3 DataNode

3. 上传和解压 – root用户

  • 上传Hadoop安装包到node1节点中, 位置 root用户家目录中

  • 解压缩安装包到/export/server/中

    tar -zxvf hadoop-3.3.6.tar.gz -C /export/server

  • 构建软连接

cd /export/server

ln -s /export/server/hadoop-3.3.4 hadoop

  • 进入hadoop安装包中

cd hadoop

4. Hadoop安装包目录结构

各个文件夹含义如下

  • bin,存放Hadoop的各类程序(命令)

  • etc,存放Hadoop的配置文件

  • include,C语言的一些头文件

  • lib,存放Linux系统的动态链接库(.so文件)

  • libexec,存放配置Hadoop系统的脚本文件(.sh和.cmd)

  • licenses-binary,存放许可证文件

  • sbin,管理员程序(super bin)

  • share,存放二进制源码(Java jar包)-- MapReduce接口(wordcount, pi)

5. 修改配置文件,应用自定义设置

  • workers:配置从节点(DataNode)有哪些 – node1,node2,node3
  • hadoop-env.sh:配置Hadoop的相关环境变量
  • core-site.xml:Hadoop核心配置文件
  • hdfs-site.xml:HDFS核心配置文件

6. 准备数据

  • 在node1节点:

mkdir -p /data/nn

mkdir -p /data/dn

  • 在node2和node3节点:mkdir -p /data/dn

7.分发Hadoop文件夹

分发

  • 在node1执行如下命令

    cd /export/servers

    cp -r hadoop-3.3.4 node2:pwd

    cp -r hadoop-3.3.4 node3:pwd

  • 在node2执行

    ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

  • 在node3执行

ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

8. 配置环境变量

9.授权为hadoop用户

10.格式化整个文件系统

二.HDFS启停

一键启停

  • $HADOOP_HOME/sbin/start-dfs.sh,一键启动HDFS集群
  • $HADOOP_HOME/sbin/stop-dfs.sh,一键关闭HDFS集群

单进程启停

hadoop-daemon.sh (start|status|stop) (namenode|secondarynamenode|datanode)

hdfs --daemon (start|status|stop) (namenode|secondarynamenode|datanode)

三.文件系统操作命令-- 自己补充完整

1. 创建文件夹

hadoop fs -mkdir [-p] <path> ...

hdfs dfs -mkdir [-p] <path> ...

  • path 为待创建的目录
  • -p选项的行为与Linux mkdir -p一致,它会沿着路径创建父目录。

2.查看指定目录

hadoop fs -ls [-h] [-R] [<path> ...]

hdfs dfs -ls [-h] [-R] [<path> ...]

  • path 指定目录路径
  • -h 人性化显示文件size
  • -R 递归查看指定目录及其子目录

3.上传

4.查看文件内容

5.下载

6.拷贝

7.追加

8.移动

9.删除

四.权限修改

1. 修改所属用户和组

2. 修改权限

Part5 HDFS存储原理

一. HDFS存储原理\
二. fsck命令
  • 我们还可以在上传文件的时候,临时决定被上传文件以多少个副本存储

hadoop fs -D dfs.replication=2 -put test.txt /tmp/

  • 对于已经存在HDFS的文件,修改dfs.replication属性不会生效,如果要修改已存在文件可以通过命令

hadoop fs -setrep [-R] 2 path

  • fsck命令检查文件的副本数

hdfs fsck path [-files [-blocks [-locations]]]

三.NameNode管理元数据
四.HDFS数据读写流程

第三章 MapReduce和YARN入门

相关推荐

  1. hive总结

    2024-03-26 12:20:03       62 阅读
  2. CSS总结

    2024-03-26 12:20:03       62 阅读
  3. HTML总结

    2024-03-26 12:20:03       59 阅读
  4. VIT<span style='color:red;'>总结</span>

    VIT总结

    2024-03-26 12:20:03      53 阅读
  5. 每日总结

    2024-03-26 12:20:03       61 阅读
  6. 每日总结

    2024-03-26 12:20:03       70 阅读
  7. webpack总结

    2024-03-26 12:20:03       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-26 12:20:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-26 12:20:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-26 12:20:03       82 阅读
  4. Python语言-面向对象

    2024-03-26 12:20:03       91 阅读

热门阅读

  1. 【人工智能】人工智能 – 引领未来科技的潮流

    2024-03-26 12:20:03       40 阅读
  2. 基于Vue.js和Element UI框架的自定义对话框组件

    2024-03-26 12:20:03       38 阅读
  3. Qt QTableView模拟表格点击事件

    2024-03-26 12:20:03       41 阅读
  4. 青葡萄科技前端开发笔试题

    2024-03-26 12:20:03       40 阅读
  5. ACSAC 2023

    2024-03-26 12:20:03       37 阅读
  6. 伦敦银是什么?揭开其神秘面纱

    2024-03-26 12:20:03       40 阅读
  7. kafka部署之简单密钥

    2024-03-26 12:20:03       37 阅读
  8. css-页面布局

    2024-03-26 12:20:03       41 阅读
  9. 冶炼金属

    2024-03-26 12:20:03       32 阅读
  10. Vue3——如何实现页面访问拦截

    2024-03-26 12:20:03       34 阅读