hadoop学习(一)
一.hadoop概述
1.1hadoop优势
1)高可靠性:Hadoop底层维护多个数据副本,即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2)高扩展性:在集群间分配任务数据,可方便扩展数以千计的节点
3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度
4)高容错性:能够自动将失败的任务重新分配
1.2Hadoop的组成
1.3.HDFS
定义:一个文件系统,用于存储文件,通过目录来定位我呢见;分布式,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。
使用场景:适合一次写入,多次读出的场景,一个文件经过创建、写入和关闭之后就不需要改变。
优点:
1)高容错性
数据自动保存多个副本,通过增加副本的形式,提高容错率。
一个副本丢失后,可以自动恢复
2)适合处理大数据
能够处理数据规模达到GB、TB、甚至PB级别的数据(数据规模方面)
能够处理百万规模以上的文件数量(文件规模方面)
3)科构建在廉价机器上,通过多副本机制,提高可靠性
缺点
1)不适合低延时数据访问
2)无法高效地对大量小文件进行存储
存储大量小文件的话,会占用NameNode大量地内存来存储文件目录和块信息。
小文件存储地寻址时间会超过读取时间,它违反了HDFS的设计目标。
3)不支持并发写入、文件随机修改
框架概述
1)NameNode(nn):存储文件的元数据,例如文件名,文件目录结构,文件属性,以及每个文件的块列表和块所在的DataNode等。
a)管理HDFS的名称空间
b)配置副本策略
c)管理数据块映射信息
d)处理客户端读写要求
2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
a)存储实际的数据块
b)执行数据块的读/写操作
DateNode和NameNode的联系:NameNode下达命令,DataNode执行实际的操作
3)Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份。
HDFS文件块大小
HDFS中的文件在物理上是分块储存,块的大小可以通过配置参数来规定
注:1)寻址时间为传输时间的1%时,为最佳状态
2)1秒能传输多少内容取决于磁盘的传输速率(目前磁盘的传输速率普遍为100MB/s)
3)块的大小不能设置太小(会增加寻址时间),也不能设置太大(从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间).。
Xshell命令:
上传命令
1)-moveFromLocal:从本地剪切粘贴到HDFS
[atguigu@hadoop01 hadoop]$ hadoop fs -mkdir /apt
[atguigu@hadoop01 hadoop]$ vim shuguo.txt
[atguigu@hadoop01 hadoop]$ hadoop fs -moveFromLocal ./shuguo.txt /apt
2)-copyFromLocal:从本地文件系统中拷贝文件到HDFS路径
[atguigu@hadoop01 hadoop]$ vim weiguo.txt
[atguigu@hadoop01 hadoop]$ hadoop fs -copyFromLocal weiguo.txt /apt
3)-put:等同于copyFromLocal,生产环境更习惯用put
[atguigu@hadoop01 hadoop]$ vim wuguo.txt
[atguigu@hadoop01 hadoop]$ hadoop fs -put ./wuguo.txt /apt
4)-appendToFile:追加一个文件到已经存在的文件末尾
[atguigu@hadoop01 hadoop]$ vim liubei.txt
[atguigu@hadoop01 hadoop]$ hadoop fs -appendToFile liubei.txt /apt/shuguo.txt
追加liubei文件的内容到shuguo内容的结尾
下载命令
1)-copyToLocal:从HDFS拷贝到本地
[atguigu@hadoop01 hadoop]$ hadoop fs -copyToLocal /apt/shuguo.txt ./
拷贝后本地存在shuguo文件
2)-get:等同于copyToLocal,生产环境更习惯用get
该指令同时将shuguo改名为shuguo2
[atguigu@hadoop01 hadoop]$ hadoop fs -get /apt/shuguo.txt ./shuguo2.txt
HDFS直接操作
1)-ls: 显示目录信息
[atguigu@hadoop01 hadoop]$ hadoop fs -ls /apt
2)-cat:显示文件内容
[atguigu@hadoop01 hadoop]$ hadoop fs -cat /apt/weiguo.txt
3)-chgrp、-chmod、-chown:Linux文件系统中的用法一样,修改文件所属权限
4)-mkdir:创建路径
[atguigu@hadoop01 hadoop]$ hadoop fs -mkdir /c
5)-cp:从HDFS的一个路径拷贝到HDFS的另一个路径
[atguigu@hadoop01 hadoop]$ hadoop fs -cp /apt/weiguo.txt /c
6)-mv:在HDFS目录中移动文件
[atguigu@hadoop01 hadoop]$ hadoop fs -mv /apt/wuguo.txt /c
7)-tail:显示一个文件的末尾1kb的数据
[atguigu@hadoop01 hadoop]$ hadoop fs -tail /c/wuguo.txt
显示出c中wuguo文件末尾1kb的数据
8)-rm:删除文件或文件夹
[atguigu@hadoop01 hadoop]$ hadoop fs -rm /apt/shuguo.txt
Deleted /apt/shuguo.txt
9)-rm -r:递归删除目录及目录里面内容
10)-du统计文件夹的大小信息
[atguigu@hadoop01 hadoop]$ hadoop fs -du -h /c
11)-setrep:设置HDFS中文件的副本数量
[atguigu@hadoop01 hadoop]$ hadoop fs -setrep 7 /c/weiguo.txt
1.4.YARN架构概述
YARN:另一种资源协调者,是Hadoop的资源管理器
1)ResourceManager(RM):管理整个集群资源(内存、CPU等);
2)NodeManager(NM):管理单个节点服务器资源
3)ApplicationMaster(AM):管理单个任务的运行
4)Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、磁盘、网络等.(一个Container容器默认内存是1-8G)
特殊说明
1)可以有多个客服端
2)集群上可以运行多个ApplicationMaster
3)每个NodeManager上可以有多个Container
1.5.MapReduce架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
二.大数据技术生态体系
三.推荐系统框架图
四.Hadoop运行模式
1)本地模式:单机运行,只是用来演示官方案例(生产环境不用,偶尔用于测试)
2)伪分布式模式:单机运行,具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境(生产环境不用)
3)完全分布式模式:多台服务器组成分布式环境(生产环境使用)
四、HDFS写数据流程
(1)客户端通过DistributedFileSystem向NameNode请求下载文件,NameNode通过查询元数据,找到文件块所在的DataNode地址。
(2)挑选一台DataNode(就近原则,然后随机)服务器,请求读取数据。
(3)DataNode开始传输数据给客户端(从磁盘里面读取数据输入流,以Packet为单位来做校验)。
(4)客户端以Packet为单位接收,先在本地缓存,然后写入目标文件。
五.NameNode工作机制
1)NameNode启动
2)Secondary NameNode工作
相关文章:

hadoop学习(一)
一.hadoop概述 1.1hadoop优势 1)高可靠性:Hadoop底层维护多个数据副本,即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。 2)高扩展性:在集群间分配任务数据,可方便扩展数以千计…...

Linux性能监控:sar的可视化方案
在当今的IT环境中,系统性能监控是确保应用程序稳定运行和快速响应问题的关键。Linux作为一种广泛使用的操作系统,拥有多种性能监控工具,其中sar(System Activity Reporter)因其全面性和灵活性被广泛采用。然而…...

如何录制电脑屏幕视频,5招让您成为电脑录制高手
在今天,屏幕录制成为每个电脑使用者都应掌握的基础技能。不论是教学分享、会议记录还是游戏直播,屏幕录制都能帮你捕捉那些重要的瞬间,将无形的信息转化为有形的视频。那么,如何录制电脑屏幕视频呢?今天,我…...

AI届的新宠:小语言模型(SLM)?
大语言模型(LLM)在过去几年产生了巨大影响,特别是随着OpenAI的ChatGPT的出现,各种大语言模型如雨后春笋般出现,国内如KimiChat、通义千问、文心一言和智谱清言等。 然而,大语言模型通常拥有庞大的参数&…...

PMP模拟题错题本
模拟题A 错题整理 项目经理为一个具有按时完成盈利项目历史记录的组织工作。然而,由于缺乏相关方的支持以及他们未能提供信息,这些项目都经历过问题。若要避免这些问题,项目经理在新项目开始时应该做什么? A. 在启动阶段识别关键…...

Laravel Dusk:点亮自动化测试的明灯
Laravel Dusk:点亮自动化测试的明灯 在Web开发中,确保应用程序的用户体验和功能正确性至关重要。Laravel Dusk是一个强大的浏览器自动化测试工具,它允许开发者模拟用户与应用程序的交互,从而进行端到端的测试。本文将深入探讨Lar…...

Git、Gitlab以及分支管理
分布式版本控制系统 一、Git概述 Git是一种分布式版本控制系统,用于跟踪和管理代码的变更。它由Linus torvalds创建的,最初被设计用于Linux内核的开发。Git 允许开发人员跟踪和管理代码的版本,并且可以在不同的开发人员之间进行协作。 Githu…...

TCP/IP 协议栈介绍
TCP/IP 协议栈介绍 1. 引言 TCP/IP(传输控制协议/互联网协议)是一组用于数据网络中通信的协议集合,它是互联网的基础。本文将详细介绍TCP/IP协议栈的各个层次、工作原理以及其在网络通信中的作用。 2. TCP/IP 协议栈的层次结构 TCP/IP协议…...

香橙派orangepi系统没有apt,也没有apt-get,也没有yum命令,找不到apt、apt-get、yum的Linux系统
以下是一个关于如何在 Orange Pi 上的 Arch Linux 系统中发现缺失包管理器的问题并解决的详细教程。 发现问题 确认系统类型: 使用以下命令检查当前的 Linux 发行版: uname -a cat /etc/os-release如果你看到类似于 “Arch Linux” 的信息,说…...

在invidia jetpack4.5.1上运行c++版yolov8(tensorRT)
心路历程(可略过) 为了能在arm64上跑通yolov8,我试过很多很多代码,太多对库版本的要求太高了; 比如说有一个是需要依赖onnx库的,(https://github.com/UNeedCryDear/yolov8-opencv-onnxruntime-…...

Vue3 接入 i18n 实现国际化多语言
在 Vue.js 3 中实现网页的国际化多语言,最常用的包是 vue-i18n。 第一步,安装一个 Vite 下使用 <i18n> 标签的插件:unplugin-vue-i18n npm install unplugin-vue-i18n # 或 yarn add unplugin-vue-i18n 安装完成后,调整 v…...

深度学习环境坑。
前面装好了之后装pytorch之后老显示gpufalse。 https://www.jb51.net/article/247762.htm 原因就是清华源的坑。 安装的时候不要用conda, 用pip命令 我cuda12.6,4070s cudnn-windows-x86_64-8.9.7.29_cuda12-archive.zip cuda_12.5.1_555.85_windows.…...

LLM——10个大型语言模型(LLM)常见面试题以及答案解析
今天我们来总结以下大型语言模型面试中常问的问题 1、哪种技术有助于减轻基于提示的学习中的偏见? A.微调 Fine-tuning B.数据增强 Data augmentation C.提示校准 Prompt calibration D.梯度裁剪 Gradient clipping 答案:C 提示校准包括调整提示,尽量减少产生…...

MongoDB - 聚合阶段 $count、$skip、$project
文章目录 1. $count 聚合阶段2. $skip 聚合阶段3. $project 聚合阶段1. 包含指定字段2. 排除_id字段3. 排除指定字段4. 不能同时指定包含字段和排除字段5. 排除嵌入式文档中的指定字段6. 包含嵌入式文档中的指定字段7. 添加新字段8. 重命名字段 1. $count 聚合阶段 计算匹配到…...

如何获取文件缩略图(C#和C++实现)
在C中,可以有以下两种办法 使用COM接口IThumbnailCache 文档链接:IThumbnailCache (thumbcache.h) - Win32 apps | Microsoft Learn 示例代码如下: VOID GetFileThumbnail(PCWSTR path) {HRESULT hr CoInitialize(nullptr);IShellItem* i…...

create-vue项目的README中文版
使用方法 要使用 create-vue 创建一个新的 Vue 项目,只需在终端中运行以下命令: npm create vuelatest[!注意] (latest 或 legacy) 不能省略,否则 npm 可能会解析到缓存中过时版本的包。 或者,如果你需要支持 IE11,你…...

Centos 7系统(最小化安装)安装Git 、git-man帮助、补全git命令-详细文章
安装之前由于是最小化安装centos7安装一些开发环境和工具包 文章使用国内阿里源 cd /etc/yum.repos.d/ && mkdir myrepo && mv * myrepo&&lscurl -O https://mirrors.aliyun.com/repo/epel-7.repo;curl -O https://mirrors.aliyun.com/repo/Centos-7…...

Golang零基础入门课_20240726 课程笔记
视频课程 最近发现越来越多的公司在用Golang了,所以精心整理了一套视频教程给大家,这个只是其中的第一部,后续还会有很多。 视频已经录制完成,完整目录截图如下: 课程目录 01 第一个Go程序.mp402 定义变量.mp403 …...

杂记-镜像
-i https://pypi.tuna.tsinghua.edu.cn/simple 清华 pip intall 出现 error: subprocess-exited-with-error 错误的解决办法———————————pip install --upgrade pip setuptools57.5.0 ————————————————————————————————————…...

如何将WordPress文章中的外链图片批量导入到本地
在使用采集软件进行内容创作时,很多文章中的图片都是远程链接,这不仅会导致前端加载速度慢,还会在微信小程序和抖音小程序中添加各种域名,造成管理上的麻烦。特别是遇到没有备案的外链,更是让人头疼。因此,…...

primetime如何合并不同modes的libs到一个lib文件
首先,用primetime 抽 timing model 的指令如下。 代码如下(示例): #抽lib时留一些margin, setup -max/hold -min set_extract_model_margin -port [get_ports -filter "!defined(clocks)"] -max 0.1 #抽lib extract_mod…...

【运维笔记】数据库无法启动,数据库炸后备份恢复数据
事情起因 在做docker作业的时候,把卷映射到了宿主机原来的mysql数据库目录上,宿主机原来的mysql版本为8.0,docker容器版本为5.6,导致翻车。 具体操作 备份目录 将/var/lib/mysql备份到~/mysql_backup:cp /var/lib/…...

成功解决:java.security.InvalidKeyException: Illegal key size
在集成微信支付到Spring Boot项目时,可能会遇到启动报错 java.security.InvalidKeyException: Illegal key size 的问题。这是由于Java加密扩展(JCE)限制了密钥的长度。幸运的是,我们可以通过简单的替换文件来解决这个问题。 解决…...

微服务事务管理(分布式事务问题 理论基础 初识Seata XA模式 AT模式 )
目录 一、分布式事务问题 1. 本地事务 2. 分布式事务 3. 演示分布式事务问题 二、理论基础 1. CAP定理 1.1 ⼀致性 1.2 可⽤性 1.3 分区容错 1.4 ⽭盾 2. BASE理论 3. 解决分布式事务的思路 三、初识Seata 1. Seata的架构 2. 部署TC服务 3. 微服务集成Se…...

测试面试宝典(三十五)—— fiddler的工作原理
Fiddler 是一款强大的 Web 调试工具,其工作原理主要基于代理服务器的机制。 首先,当您在计算机上配置 Fiddler 为系统代理时,客户端(如浏览器)发出的所有 HTTP 和 HTTPS 请求都会被导向 Fiddler。 Fiddler 接收到这些…...

旷野之间32 - OpenAI 拉开了人工智能竞赛的序幕,而Meta 将会赢得胜利
他们通过故事做到了这一点(Snapchat 是第一个)他们用 Reels 实现了这个功能(TikTok 是第一个实现这个功能的)他们正在利用人工智能来实现这一点。 在人工智能竞赛开始时,Meta 的人工智能平台的表现并没有什么特别值得…...

机械学习—零基础学习日志(高数15——函数极限性质)
零基础为了学人工智能,真的开始复习高数 这里我们将会学习函数极限的性质。 唯一性 来一个练习题: 再来一个练习: 这里我问了一下ChatGPT,如果一个值两侧分别趋近于正无穷,以及负无穷。理论上这个极限值应该说是不存…...

树 形 DP (dnf序)
二叉搜索子树的最大键值 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(null…...

React的生命周期?
React的生命周期分为三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。 1、挂载(Mounting) 当组件实例被创建并插入 DOM 时调用的生命周期方法&#x…...

c# - - - ASP.NET Core 网页样式丢失,样式不对
c# - - - ASP.NET Core 网页样式丢失,样式不对 问题 正常样式是这样的。 修改项目名后,样式就变成这样了。底部的内容跑到中间了。 解决 重新生成解决方案,然后发布网站。 原因: 修改项目名之前的 div 上有个这个自定义属…...