【2023】hadoop基础介绍

💻目录

  • Hadoop组成
    • HDFS
    • HDFS操作
      • HDFS分布式文件存储
      • NameNode元数据
      • 数据读写流程
  • YARN和MapReduce
    • MapReduce:分布式计算
    • YARN:资源管控调度
      • YARN架构
      • 提交任务到**YARN中运行**

Hadoop组成

hadoop安装教程可以看我这篇文章===> 🍅hadoop通过docker安装

  • HDFS组件:是Hadoop内的分布式存储组件,可以构建分布式文件系统用于数据存储。
  • MapReduce组件:MapReduce是Hadoop内分布式计算组件。提供编程接口供用户开发分布式计算程序。
  • YARN组件:YARN是Hadoop内分布式资源调度组件。可供用户整体调度大规模集群的资源使用。

HDFS

分布式存储:主从架构——架构角色

  • 主角色:Master(NameNode)
  • 从角色:Slave(DataNode)
  • 主角色的辅助角色:(SecondaryNameNode)
    • 处理合并edits为fsimage:会通过http从NameNode拉取数据(edits和fsimage),然后合并完成后提供给NameNode使用。

HDFS操作

  • HDFS文件系统基本信息

    操作命令添加协议头就会分别是对对应的系统执行,如果不带是会按照

    在这里插入图片描述

  • 操作命令

不同版本命令开头

# 老版本
hadoop fs 
# 新版本
hdfs dfs 

在这里插入图片描述

命令使用在这里插入图片描述

  • 上传文件到hdfs文件系统中
# hdfs dfs -put linux路径 HDFS文件路径
hdfs dfs -put ./test2.test /

在这里插入图片描述

  • 下载HDFS文件到linux中
# hdfs dfs -get HDFS文件路径 linux路径
hdfs dfs -get /.test.txt /

在这里插入图片描述

  • 拷贝HDFS文件和移动
#拷贝文件
hdfs dfs -cp 源路径 粘贴路径#移动文件
hdfs dfs -mv 源路径 粘贴路径

在这里插入图片描述

  • 追加数据到HDFS文件

    HDFS只能追加和删除,不能修改

htfs -dfs -appendToFile 

在这里插入图片描述

  • 查看文件和删除文件
#查看文件内容
htfs -dfs -cat 文件
#删除文件和文件夹(删除文件不用加-r,删除文件夹需要加-r)
htfs dfs -rm -r 文件路径

删除文件看是否需要添加回收站

在这里插入图片描述

html查看文件

在这里插入图片描述

产品插件用于使用:Big Data Tools

在这里插入图片描述

配置插件

在这里插入图片描述

HDFS分布式文件存储

hdfs存储的管理单位是叫 block块

通过分布式的方式进行存储5,为了避免block块丢失,一般会进行冗余备份(通过添加副本块的方式备份),避免文件丢失

在这里插入图片描述

NameNode元数据

  • edits文件———流水帐文件

在这里插入图片描述

  • FSlmage文件———最终文件(保存最终结果)

在这里插入图片描述

  • 执行流程

在这里插入图片描述

数据读写流程

在进行读写时,会优先读写到网络距离最近的那台dataNode给客户端进行读写,实现读写的最优解。

  • 数据写入流程

在这里插入图片描述

在这里插入图片描述

  • 数据读取流程

    在这里插入图片描述

YARN和MapReduce

  • 分布式(数据)计算
    • 分散—>汇总模式
      1. 将数据分片,多台服务器负责一部分数据处理
      2. 然后将各种的数据进行汇总
    • 中心调度—>步骤执行模式
      1. 由一个节点作为中心调度管理者
      2. 将任务划分为几个具体步骤
      3. 管理者安排每个机器执行任务
      4. 最终得到结果数据

MapReduce:分布式计算

采用的是分散—>汇总模式进行分布式计算

提供了2个编程接口

  • Map:分散
  • Reduce:汇总

在这里插入图片描述

YARN:资源管控调度

将资源统一管控进行分配可以提供资源利用率

MapReduce和YARN的关系

  • YARN用来调度资源给MapReduce分配和管理运行资源
  • 所以,MapReduce需要YARN配合使用

YARN架构

YARN采用的也是主从架构

核心角色

  • ResourceManager:整个集群的资源调度者,负责协调调度各国程序所需要的资源。
  • NodeManager:单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用

辅助角色

  • ProxyServer:代理服务器
  • JobHistoryServer:历史服务器

在这里插入图片描述

YARN集群启动和停止命令(mapReduce无需启动任何进程)

#一键启动: 
$HADOOP_HOME/sbin/start-yarn.sh
#一键关闭
$HADOOP_HOME/sbin/stop-yarn.sh#历史服务器启动和停止
mapred --daemon start|stop historyserver

查看YARN的web页面通过8088端口

在这里插入图片描述

提交任务到YARN中运行

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/589793.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RFC7636-PKCE

前言 PKCE (RFC 7636) 是授权代码流的扩展,用于防止 CSRF 和授权代码注入攻击。 PKCE 不是客户端身份验证的一种形式,PKCE 不能替代客户端密码或其他客户端身份验证。即使客户端使用客户端密码或其他形式的客户端身份验证&#…

03.QT命名规范及快捷键(部分)

一、命名规范 1.类名 大驼峰规则:首字母大写,单词和单词之间首字母大写。 2.变量名 小驼峰规则:首字母小写,单词和单词之间首字母大写。 二、快捷键 1.代码操作相关 注释:ctrl / 运行:ctrl r 编译…

从入门到精通UNet: 让你快速掌握图像分割算法

文章目录 一、UNet 算法简介1.1 什么是 UNet 算法1.2 UNet 的优缺点1.3 UNet 在图像分割领域的应用 二、准备工作2.1 Python 环境配置2.2 相关库的安装 三、数据处理3.1 数据的获取与预处理3.2 数据的可视化与分析 四、网络结构五、训练模型5.1 模型训练流程5.2 模型评估指标5.…

redis 三主六从高可用docker(不固定ip)

redis集群(cluster)笔记 redis 三主三从高可用集群docker swarm redis 三主六从高可用docker(不固定ip) 此博客解决,redis加入集群后,是用于停掉后重启,将nodes.conf中的旧的Ip替换为新的IP,从而达到不会因为IP变化导致集群无法…

【递归、搜索与回溯】综合练习

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻找出所有子集的异或总和再求…

音阶是音乐理论的基本概念之一

音阶是音乐理论的基本概念之一,它是一组按照音高顺序排列的音。不同类型的音阶有不同的音阶结构。在西方音乐中,最常见的是大调音阶和小调音阶。下面是这两种音阶的基本构成: 大调音阶(Major Scale): 大调音…

[Python]两个杯子取水问题

利用两个杯子巧取三升水: 今天的这个趣味数学小游戏是利用两个没有刻度的水杯,巧妙地取出三升水来。 题目的条件是:一个总容量为6升的杯子和一个总容量为5升的杯子,同时面前有无限容量的水供你使用。不借助其它任何的容器&#xf…

just recode for myself 统计大模型SFT的结果与version2中text的结果bad case

问题描述: 利用Qwen大模型进行SFT (lora)。将生成的结果与version2版本下的中文test.txt进行bad case分析 代码实现: from tqdm import tqdm, trange import os import re from typing import List import json from pdb import set_trace as stoppip…

测试新字符设备驱动代码

一. 简介 上一篇文章编写了新字符设备驱动框架的代码,并编写了 LED灯IO初始化工作,也编写了Led的开与关函数。文章地址如下: 向新字符设备驱动代码框架中添加Led功能函数-CSDN博客 本文对所完成的新字符设备驱动代码进行测试。通过测试程…

12、高可用性

什么是高可用性 高可用性不是绝对的,只有相对更高的可用性。百分之百的可用性是不可能达到的。可用性的定义不仅仅包括服务正在运行的时间段,还包括应用是否能以足够好的性能处理请求。 导致宕机的原因 在运行环境的问题中,最普通的问题是…

7-1 sdut-Collection-sort--C~K的班级(II)--笔记篇

题目 经过不懈的努力,CXK终于当上了班主任。 现在他要统计班里学生的名单,但是CXK在教务系统中导出班级名单时出了问题,发现会有同学的信息重复,现在他想把重复的同学信息删掉,只保留一个, 但是工作量太大…

LeetCode 热题 100——283. 移动零

283. 移动零 提示 简单 2.3K 相关企业 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,…

使用anaconda创建notebook工程

1.由于每个工程使用的环境都可能不一样,因此一个好的习惯就是不同的工程都创建属于自己的环境,在anaconda中默认的环境是base: //括号中名字,代表当前的环境 (base)dragonmachine: $ conda create --nameexample2.激活环境 // 环…

伺服电机:电子齿轮比

电子齿轮比的概念 位置控制模式下,输入的位置指令是对负载位移进行设定,而电机的位置指令是编码器单位,是对电机的位移进行进行设定,电机位置指令与输入位置指令的比例就是电子尺齿轮比。 输入的位置指令,所对应的位…

JVM内存区域与常见问题

内存结构 这里先以JDK1.8 hotspot垃圾收集器为例,讲讲每块区域存储的数据以及可能会抛的异常。 堆 存放对象实例,会出现内存溢出或内存泄露等情况。 栈 一次方法调用会产生一个栈帧,如果出现递归死循环调用栈空间满了,会出现…

【全网首发】洛谷贪心题解集合

贪心 1.P2240 【深基12.例1】部分背包问题 【深基12.例1】部分背包问题 - 洛谷 思路 万不要被题目给误导了,这道题是贪心。 所有金币都可以分开,也就是说只要按照性价比最高的取一定得到的价值最大。 性价比就是这堆金币的价值除以重量。 只需要把…

85双指针解三数之和

问题描述:给你一个包含n个整数的数组nums,判断nums中是否勋在三个元素a,b,c使得abc0,请你找出所有和为0且不重复的三元组。 求解思路:如果使用for循环的方式,n3的时间复杂度,可以采用双指针的方式,先将整个…

企业级大数据架构设计

企业级大数据架构设计 企业级大数据架构设计 又名: 学习大数据概念, 写框架(第1天) 数据架构与设计:概述与设计考虑 引言数据架构概述设计考虑因素构建数据架构的步骤 大数据的核心架构内容:构建高效和…

14.用户管理

目录 1、权限表 1、user表 1.用户列 2.权限列 3.安全列 4.资源控制列 2、db表和host 表 1.用户列 2.权限列 3. tables_priv 表和 columns _priv 表 4.procs_priv 表 2、账户管理 1. 登录和退出MySQL服务器 2、创建普通用户: 1.使用CREATE USER语创建…

前端crypto-js 库: MD5

文章目录 什么是crypto-js安装依赖MD5 什么是crypto-js github地址: https://github.com/brix/crypto-js cryptojs文档: https://cryptojs.gitbook.io/docs/#encoders CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。 CryptoJS是一个JavaScript加密算法库&a…