Hadoop概念学习(无spring集成)

Hadoop

分布式的文件存储系统

三个核心组件

image-20230624113408665

但是现在已经发展到很多组件的s

img

或者这个图

image-20230624161959113

官网地址:

https://hadoop.apache.org

历史

hadoop历史可以看这个:

https://zhuanlan.zhihu.com/p/54994736

image-20230624163111877

优点

高可靠性: Hadoop 底层维护多个数据副本,所以即使 Hadoop 某个计算元素或存储出现故障,也不会导致数据的丢失。
高扩展性: 在集群间分配任务数据,可方便的扩展数以千计的节点。
高效性: 在 MapReduce 的思想下,Hadoop 是并行工作的,以加快任务处理速度。
高容错性: 能够自动将失败的任务重新分配。

架构变迁

Hadoop1.0

HDFS(分布式文件存储)

MapReduce(资源管理和分布式数据处理)

image-20230624172419889

Hadoop2.0

HDFS(分布式文件存储)

MapReduce(分布式数据处理)

YARN(集群资源管理,任务调度)

image-20230624172433001

Hadoop3.0

专注于性能优化

1.精简内核,类路径隔离,shell脚本重构

2.Hadoop HDFS 上 EC纠删码,多NameNode支持

3.Hadoop MapReduce 任务本地优化,内存参数自动推断

Hadoop YARN timeline service v2 队列配置

集群介绍:

image-20230624173514642

文件资源管理的集群与任务调度的集群在一起称为Hadoop集群

逻辑上分离,在物理上可以在一起,不同集群分成了不同的进程完成独立的事

MapReduce是计算框架,代码层次上的组件,没有集群说

搭建集群

安装采用的三台centos7虚拟机,

搭建教程看的下面链接的教程

教程

搭建时记得看好自己C盘存储够不够(内存满了就装C盘

image-20230628175344321

集群前知识(在解压后,安装前观看):

bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
sbin目录:存放启动或停止Hadoop相关服务的脚本
share目录:存放Hadoop的依赖jar包、文档、和官方案例

Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。

本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。
伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。个别缺钱的公司用来测试,生产环境不用。
完全分布式模式(下面用的完全分布式):多台服务器组成分布式环境。生产环境使用。

image-20230628142647899

然后之间相互调用好像是用的ssh,(可能

所以还需要创建免密的ssh环境

Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。

默认配置文件:

img

自定义配置文件:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置.

记得有些坑

配置节点的时候:有slaves和workers,其实都是一个东西,但是可能因为政治正确在3.0之后改成了workers,但是好像slaves还保留着的

配置的时候只在workers里配置节点就行,(虽然说我的节点名还是slave)

相同的情况在mysql,redis,python等也发生了

sbin/start-dfs.sh启动不能用root,要用他前面设置的所有者

需要在这里写上java_home

vi etc/hadoop/hadoop-env.sh 

echo $JAVA_HOME    #查自己的java_home
#加入下面这句,按照自己的java_home改,    
export JAVA_HOME=/usr/local/jdk8/jdk1.8.0_341

image-20230628173733380

这里必须用创建的那个用户所有者来,不能用root

关键词:修改文件所有者

sudo chown -R lkw ./

image-20230628173412759

输入jps查看有哪些java进程

集群1启动

image-20230628153728930

内存快爆了

集群2启动:

image-20230628174624989

集群3启动:

image-20230628174639757

网页也启动成功

image-20230628174108145

image-20230628174134314

处理集群崩溃

仅限新手测试处理,不适用于生产环境

先杀死集群,(或者重开机也行

删除历史数据

面试题:

image-20230630141515590

HDFS概述

HDFS(Hadoop Distributed File System)是Apache Hadoop生态系统中的一个分布式文件系统。它旨在处理大规模数据集的存储和处理,并提供高容错性、高吞吐量和可扩展性。

HDFS的设计灵感来自于Google的GFS(Google File System),它通过将数据分布在集群中的多个机器上实现数据的可靠性和并行处理能力。

HDFS具有以下主要特点:

  1. 分布式存储:HDFS将大文件分成多个数据块,然后将这些数据块分布在多个计算节点上的本地磁盘上。这种分布式存储方式提供了数据的冗余和高可靠性。

  2. 数据冗余和容错性:HDFS通过在集群中多个节点上存储数据的多个副本来提供数据的容错性。如果某个节点发生故障,系统可以自动从其他节点上的副本中恢复数据。

  3. 高吞吐量:HDFS被优化用于大数据集的批处理工作负载,它具有高吞吐量的特性。它可以并行读取和写入大量数据,适用于数据处理和分析。

  4. 扩展性:HDFS可以水平扩展以适应不断增长的数据量。通过添加更多的计算节点,可以增加存储容量和处理能力,而无需中断运行。

  5. 简单性:HDFS的设计简单且易于使用。它提供了类似于传统文件系统的接口,使开发人员能够以类似于本地文件的方式进行文件操作。

HDFS广泛应用于大数据处理场景,它与Hadoop生态系统中的其他工具(如MapReduce、Spark等)紧密结合,为大规模数据处理和分析提供基础设施。

缺点:

不适合低延时数据访问

简单的来说

就是文件系统

缺点:

无法高效的大量小文件存储(1.因为存储空间碎片化,增加了磁盘寻址和数据定位开销,2.同时任务调度也会变多,任务切换开销变大

解决方法:1.合并小文件,2.直接存数据库去,3.hadoop归档工具HAR等)

不支持并发写入,文件随机修改(1.因为采用了主从1架构限制了并发写入,保证一致性。 2.并发写入和随机修改会导致数据碎片化以及数据不连续,3.hadoop的主要关注点不是为了这个,而是为了大规模数据读取,转换和分析)

**解决方法:**Apache HBase作为Hadoop生态系统中的分布式数据库

HDFS的架构组成

HDFS Architecture

1.NameNode

处理客户端请求

配置副本策略

管理数据块映射信息

管理HDFS的名称空间

总的来说,就是一个老板

2.DataNode

存储数据快

管理数据块

总的来说,就是一个仓管

3.Client

文件切分

从NameNode获取文件各种信息

从DataNode存储或者取出数据

总的来说,就是一个销售

4.NameNode

并不是nameNode的热备,老板挂掉,他不能代替老板,只能辅助恢复NameNode

可以为NameNode分担工作量

总的来说,相当于秘书

HDFS文件块大小

默认2.x/3.x的文件块大小是128M

1.x中是64M

设太大会导致数据读取时间变超大,不利于程序处理这段数据

设太小增加寻址时间

HDFS的Shell操作(重点)

基本语法

下面两个一样

hadoop fs   (具体命令)
hdfs dfs (具体命令)
#查询命令,但是到真查询还得谷歌
hadoop fs -help (具体命令) 
hadoop fs:这是Hadoop文件系统Shell命令的入口点,用于执行各种文件和目录操作。

hadoop fs -ls <path>:列出指定路径下的文件和目录。
hadoop fs -mkdir <path>:创建一个新的目录。
hadoop fs -put <localSrc> <dest>:将本地文件或目录上传到HDFS。
(hadoop fs -copyFromLocal 也是本地文件上传,但是上面的简洁
hadoop fs -copyToLocal 下载到本地)
hadoop fs -get <src> <localDest>:从HDFS下载文件或目录到本地。
hadoop fs -rm <path>:删除指定的文件或目录。
hadoop fs -cat <file>:显示文件的内容。
hadoop fs -mv <src> <dest>:移动文件或目录。
hadoop fs -tail <src> <dest>:查看一个文件末尾1kb的数据
hadoop fs -du <src> <dest>:查看一个文件或文件夹大小信息
 

hadoop jar:用于执行Hadoop作业(Job)。

hadoop jar <jarPath> <mainClass> <inputPath> <outputPath>:运行指定的Hadoop作业,其中<jarPath>是Hadoop作业的JAR文件路径,<mainClass>是作业的主类,<inputPath>和<outputPath>分别是输入和输出的HDFS路径。
hadoop dfsadmin:用于管理HDFS集群的命令。

hadoop dfsadmin -report:显示HDFS集群的整体状态和报告信息。
hadoop dfsadmin -safemode <enter|leave|get>:管理HDFS的安全模式。
hadoop dfsadmin -refreshNodes:刷新集群节点列表。
hadoop dfsadmin -setBalancerBandwidth <bandwidth>:设置数据均衡器的带宽限制。
hadoop job:用于查看和管理Hadoop作业。

hadoop job -list:列出当前运行的Hadoop作业。
hadoop job -status <jobId>:显示指定作业的状态和进度信息。
hadoop job -kill <jobId>:终止指定的Hadoop作业。

集成略

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初识网络 --- 浅了解一些基础概念

文章目录 初识网络局域网与广域网 初识协议协议分层 OSI七层模型TCP/IP 四层&#xff08;五层&#xff09;模型网络传输基本流程协议报头局域网通信原理传输流程图数据包封装和分用 初识网络 在每台计算机独立的情况下&#xff1a;假设现在有三台计算机&#xff0c;每台计算机…

2024考研408-操作系统 第五章-输入输出IO管理 学习笔记

文章目录 一、I/O管理概述1.1、I/O设备的概念与分类1.1.1、什么是I/O设备&#xff1f;1.1.2、I/O设备的分类&#xff1a;按照使用特性1.1.2、I/O设备的分类&#xff1a;按传输速率分类1.1.3、I/O设备的分类&#xff1a;按照信息交换的单位分类知识点回顾与重要考点 1.2、I/O控制…

SpringBoot Redis 使用Lettuce和Jedis配置哨兵模式

Redis 从入门到精通【应用篇】之SpringBoot Redis 配置哨兵模式 Lettuce 和Jedis 文章目录 Redis 从入门到精通【应用篇】之SpringBoot Redis 配置哨兵模式 Lettuce 和Jedis前言Lettuce和Jedis区别1. 连接方式2. 线程安全性 教程如下1. Lettuce 方式配置1.1. 添加 Redis 和 Let…

【目标跟踪】1、基础知识

文章目录 一、卡尔曼滤波二、匈牙利匹配 一、卡尔曼滤波 什么是卡尔曼滤波&#xff1f;——状态估计器 卡尔曼滤波用于在包含不确定信息的系统中做出预测&#xff0c;对系统下一步要做什么进行推测&#xff0c;且会结合推测值和观测值来得到修正后的最优值卡尔曼滤波就是利用…

git 和adb

一、git 1、git的作用 git是一个版本控制系统&#xff0c;是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 我的理解就是代码管理器&#xff1a; 第一点你可将代码备份到git仓上&#xff1b; 第二点可记录的你修改记录&#xff1b; 第三点…

周训龙老兵参观广西森林安全紧急救援装备演练

7月21日上午&#xff0c;周训龙老兵参观广西紧急救援促进中心在南宁市青秀山举行森林安全紧急救援装备演练&#xff0c;多功能水罐消防车、无人救援机等先进设备轮番上阵&#xff0c;展示了广西应对突发事件的紧急救援速度和水平。广西壮族自治区应急厅不情愿参此次演练活动。 …

Python Flask构建微信小程序订餐系统 (十)

🔥 编辑会员信息 🔥 编辑会员信息可以通过点击会员列表操作,也可以点击会员信息详情点击进行操作 🔥 修改编程会员信息列表布局 🔥 修改 web/templates/member/index.html 文件,添加跳转到编辑会员信息的页面 web/templates/member/set.html 🔥 创建用于会员…

Mybatis单元测试,不使用spring

平时开发过程中需要对mybatis的Mapper类做单元测试&#xff0c;主要是验证语法是否正确&#xff0c;尤其是一些复杂的动态sql&#xff0c;一般项目都集成了spring或springboot&#xff0c;当项比较大时&#xff0c;每次单元测试启动相当慢&#xff0c;可能需要好几分钟&#xf…

OpenCV图像处理-图像分割-MeanShift

MeanShift 1. 基本概念2.代码示例 1. 基本概念 MeanShift严格说来并不是用来对图像进行分割的&#xff0c;而是在色彩层面的平滑滤波。它会中和色彩分布相近的颜色&#xff0c;平滑色彩细节&#xff0c;侵蚀掉面积较小的的颜色区域&#xff0c;它以图像上任意一点P为圆心&…

优思学院|六西格玛案例分析 - 降低焊接缺陷率

大家都知道六西格玛方法中的控制图有助于监测流程的稳定性和识别特有原因的发生。对流程周期性地采样&#xff0c;当测量结果在控制上限和下限内&#xff0c;而且围绕着一条中心线时&#xff0c;我们就说流程是受控的。注意上述控制上限和下限有别于规范限。 我们来看看一家工…

电脑安装双系统ubuntu18.04+windows后开机直接进入Windows解决方法

电脑型号&#xff1a;联想拯救者Y9000K2021H 系统&#xff1a;Windows11Ubuntu18.04双系统 问题&#xff1a;笔记本安装双系统后&#xff0c;Windows系统下处理word或者看论文&#xff1b;Ubuntu18.04系统安装ros进行机械臂控制等的研究。但最近开机后发现没有系统选项了&#…

知识库数据导出为excel-使用JavaScript实现在浏览器中导出Excel文件

我们智能客服知识库机器人已经开发完成&#xff0c;后端数据库是使用的qdrant向量数据库&#xff0c;但是该数据库并没有导出备份功能&#xff0c;所以我按简单的纯前端实现知识库导出excel数据 使用第三方库(如SheetJS) SheetJS是一个流行的JavaScript库&#xff0c;可帮助处理…

App隐私及合规评估服务

随着移动应用种类和数量呈爆发式增长&#xff0c;APP侵害用户权益事件层出不穷&#xff0c;为规范个人信息的收集使用&#xff0c;打击涉及个人信息违法犯罪行为&#xff0c;我国相继出台多个涉及个人信息保护相关法律法规。与此同时&#xff0c;中央网信办、工信部、公安部、市…

获取大疆无人机的飞控记录数据并绘制曲线

机型M350RTK&#xff0c;其飞行记录文件为加密的&#xff0c;我的完善代码如下 gitgithub.com:huashu996/DJFlightRecordParsing2TXT.git 一、下载安装官方的DJIFlightRecord git clone gitgithub.com:dji-sdk/FlightRecordParsingLib.git飞行记录文件在打开【我的电脑】&am…

Istio Pilot源码学习(二):ServiceController服务发现

本文基于Istio 1.18.0版本进行源码学习 4、服务发现&#xff1a;ServiceController ServiceController是服务发现的核心模块&#xff0c;主要功能是监听底层平台的服务注册中心&#xff0c;将平台服务模型转换成Istio服务模型并缓存&#xff1b;同时根据服务的变化&#xff0c…

OpenHarmony与HarmonyOS联系与区别

目录 1. 背景 2.OpenHarmony 3.HarmonyOS 4.鸿蒙生态 5.OpenHarmony与HarmonyOS的技术上实现区别 1.语言支持 2.SDK 的不同 3.运行调测方式不同 4.对APK的兼容性不同 5.包含关系 6.调试命令 6.何时选择OpenHarmony或是HarmonyOS&#xff1f; 1. 背景 开篇就说“关于…

2023最新谷粒商城笔记之Sentinel概述篇(全文总共13万字,超详细)

Sentinel概述 服务流控、熔断和降级 什么是熔断 当扇出链路的某个微服务不可用或者响应时间太长时&#xff0c;会进行服务的降级&#xff0c;**进而熔断该节点微服务的调用&#xff0c;快速返回错误的响应信息。**检测到该节点微服务调用响应正常后恢复调用链路。A服务调用B服…

Spring Security 身份验证的基本类/架构

目录 1、SecurityContextHolder 核心类 2、SecurityContext 接口 3、Authentication 用户认证信息接口 4、GrantedAuthority 拥有权限接口 5、AuthenticationManager 身份认证管理器接口 6、ProviderManager 身份认证管理器的实现 7、AuthenticationProvider 特定类型的…

数字孪生管控系统,智慧园区楼宇合集

智慧园区是指将物联网、大数据、人工智能等技术应用于传统建筑和基础设施&#xff0c;以实现对园区的全面监控、管理和服务的一种建筑形态。通过将园区内设备、设施和系统联网&#xff0c;实现数据的传输、共享和响应&#xff0c;提高园区的管理效率和运营效益&#xff0c;为居…

【Spring Cloud Gateway 新一代网关】—— 每天一点小知识

&#x1f4a7; S p r i n g C l o u d G a t e w a y 新一代网关 \color{#FF1493}{Spring Cloud Gateway 新一代网关} SpringCloudGateway新一代网关&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f984; 个人主页——微风撞见云的博客&a…