首页 > 其他分享 >hadoop基础知识分享(一)

hadoop基础知识分享(一)

时间:2024-09-08 22:13:44浏览次数:11  
标签:hdfs HDFS 路径 Hadoop hadoop dfs 基础知识 分享 节点

Hadoop 概述

Hadoop 是一个适合海量数据的分布式存储和分布式计算的平台。Hadoop 的处理思想是“分而治之”。Hadoop 主要包含三个核心组件:

  1. HDFS:分布式存储框架,适合海量数据存储
  2. MapReduce:分布式计算框架,适合海量数据计算
  3. YARN:资源调度平台,负责给计算框架分配计算资源

Hadoop 组件介绍

  • HDFS(Hadoop Distributed File System):分布式文件存储系统,采用主从架构,主节点为 NameNode,负责管理文件系统的名称空间和文件的访问;从节点为 DataNode,负责实际数据的存储。
  • MapReduce:一种依赖磁盘 I/O 的批处理计算模型,通过主从结构进行分布式计算。主节点为 MRAppMaster,负责接收任务并调度;从节点执行具体的计算任务。
  • YARN(Yet Another Resource Negotiator):负责资源调度和管理,主节点为 ResourceManager,从节点为 NodeManager。

Hadoop 分布式搭建步骤

  1. 关闭防火墙并设置所有节点名称和相关映射。
  2. 设置免密钥。
  3. 上传 Hadoop 安装包并解压。
  4. 配置环境变量。
  5. 修改配置文件。
  6. 同步文件。
  7. 格式化并启动(仅第一次需要格式化)。

HDFS(Hadoop Distributed File System)

架构与原理

  • 主从结构:HDFS 具有主从架构,主节点(NameNode)负责管理文件系统的元数据,从节点(DataNode)负责存储实际数据。
  • 块(Block):数据以块的形式存储,每个块大小默认 128MB(Hadoop 2.0 以后),块的大小可以通过 hdfs-site.xml 配置。
  • 副本(Replication):为了提高数据的可靠性,HDFS 会将数据块备份到多个 DataNode 上。

元数据管理

  • fsimage:元数据镜像文件,存储某一时段 NameNode 内存元数据信息。
  • edits:操作日志文件,记录新增元信息日志。
  • fstime:保存最近一次 checkpoint 的时间。

SecondaryNameNode 的作用

  • 帮助 NameNode 完成元数据信息的合并。
  • 工作流程:
    1. SecondaryNameNode 向 NameNode 发起 Checkpoint 请求。
    2. 从 NameNode 获取 fsimage 和 edits。
    3. 合并 edits。
    4. 将新的 fsimage 发回给 NameNode。
    5. NameNode 用新的 fsimage 替换旧的 fsimage。

HDFS 读写流程

  • 写流程:客户端将数据写入 HDFS,数据被分成多个块,存储到多个 DataNode 上。
  • 读流程:客户端通过 NameNode 获取块的位置,从对应的 DataNode 读取数据。

YARN(Yet Another Resource Negotiator)

架构

  • 主节点:ResourceManager,负责资源分配和调度。
  • 从节点:NodeManager,负责单节点资源的管理(CPU 和内存)。

Container

  • 定义:Container 是 YARN 中资源的抽象,封装了某个节点上一定量的资源(CPU 和内存)。
  • 作用:Container 由 ApplicationMaster 向 ResourceManager 申请,并在 NodeManager 上运行。

MapReduce

架构

  • 主节点:MRAppMaster,负责接收和调度任务。
  • 从节点:任务执行节点(具体的 Task)。

提交任务步骤

  1. 编写 MapReduce 程序,定义 Mapper 和 Reducer 类。
  2. 编译程序生成 .jar 文件。
  3. 上传数据到 HDFS。
  4. 提交任务:
    hadoop jar your-program.jar YourMainClass -D mapreduce.job.reduces=2 -input /hdfs/input/path -output /hdfs/output/path
    
  5. 查看任务状态:
    yarn application -status <applicationId>
    

Hadoop 命令

集群管理

  • 启动所有进程:
    start-all.sh
    
  • 停止所有进程:
    stop-all.sh
    
  • 启动 HDFS 和 YARN 相关进程:
    start-dfs.sh
    start-yarn.sh
    
  • 停止 HDFS 和 YARN 相关进程:
    stop-dfs.sh
    stop-yarn.sh
    

文件操作

  • 上传文件:
    hdfs dfs -put 本地路径 HDFS路径
    hdfs dfs -copyFromLocal 本地路径 HDFS路径
    
  • 下载文件:
    hdfs dfs -get HDFS路径 本地路径
    hdfs dfs -copyToLocal HDFS路径 本地路径
    
  • 创建目录:
    hdfs dfs -mkdir HDFS路径
    
  • 查看文件内容:
    hdfs dfs -cat HDFS路径
    hdfs dfs -tail HDFS路径
    hdfs dfs -text HDFS路径
    

文件管理

  • 追加内容:
    hdfs dfs -appendToFile 本地路径 HDFS路径
    
  • 删除文件:
    hdfs dfs -rm -r -f HDFS路径
    
  • 复制文件:
    hdfs dfs -cp 源路径 目标路径
    
  • 重命名文件:
    hdfs dfs -mv 源路径 目标路径
    
  • 修改文件权限:
    hdfs dfs -chmod 735 目标路径
    hdfs dfs -chmod -R 735 目标路径
    
  • 查看存储空间:
    hdfs dfs -df
    hdfs dfs -du -h /
    

RPC 协议

  • RPC(Remote Procedure Call)是远程过程调用协议,用于通过网络从远程计算机程序上请求服务,而无需了解底层网络技术。RPC 采用客户端/服务器模式,客户端发送请求,服务器处理请求并返回结果。

标签:hdfs,HDFS,路径,Hadoop,hadoop,dfs,基础知识,分享,节点
From: https://www.cnblogs.com/cjybigdatablog/p/18403603

相关文章

  • Hadoop学习总结
    在深入学习Hadoop的过程中,我逐渐探索了其高级特性和性能优化的技巧,发现这些方法对提升数据处理的效率和集群的稳定性至关重要。Hadoop,作为一个强大的大数据处理框架,其核心组件包括HDFS(分布式文件系统)和YARN(YetAnotherResourceNegotiator)。在掌握了基本的使用方法后,我开始关注如......
  • 利士策分享,从零开始创业:一场勇敢而精彩的旅程
    利士策分享,从零开始创业:一场勇敢而精彩的旅程附上可落地执行的策略:在创业的征途中,理论固然重要,但可落地执行的策略才是推动我们前进的实际动力。以下是一些具体且可操作的策略,希望可以帮助你从零开始,稳步迈向成功。一、明确目标与细分步骤SMART原则:将你的大目标(愿景)分解......
  • Hadoop集群搭建----Hadoop安装与配置
    (1)上传Hadoop安装包:Hadoop安装包上传到虚拟机/erport/software目录Hadoop版本:hadoop-3.3.1.tar.gz(2)解压安装Hadoop:tar-zxvfhadoop-3.3.1.tar.gz-C/erport/servers/(3)配置Hadoop环境变量:vim/etc/profile生效:source/etc/profile(4)验证Hadoop环境:hadoopversion......
  • 创新创业大赛——经验分享(一)
    在写策划书中加入品牌打造的概念在撰写项目策划书时,将品牌打造的思想概念融入其中,不仅可以提升项目的整体价值,还可以使品牌形象深入人心。因此,在制定项目策划书的过程中,我们应当充分认识到品牌打造的重要性,并巧妙地将其融入到策划书的各个环节中。首先,我们需要在项目策划书中......
  • 电脑怎么限制软件上网?分享三种常用的方法,后悔没早发现!
    现在,我们的电脑中安装着各种各样的软件,其中总有一些在未经允许时,擅自访问网络。这不仅可能影响电脑性能,还可能泄露个人隐私。因此,学会限制软件上网显得尤为重要。今天,我们就来分享三种常用的电脑限制软件上网的方法,希望对大家有所帮助。方法一:使用系统防火墙禁止软件联网Wi......
  • u盘知识科普:6款u盘防复制防拷贝软件分享(如何防止U盘拷贝资料)
    小李,手握U盘,内含公司最新的产品蓝图。一天,李明不慎将U盘遗落在了咖啡馆的座位上,等他发现时,U盘已不见踪影。几天后,市场上竟出现了与公司产品极为相似的竞品,原来,那名捡到U盘的人轻松复制了其中的数据并泄露给了竞争对手。可见,u盘防复制防拷贝如此重要!那么,我们应如何防止U盘拷......
  • 基于SpringBoot的美食分享平台设计与实现,LW+源码+部署讲解
    一、绪论1.1研究意义当今社会作为一个飞速的发展社会,网络已经完全渗入人们的生活,网络信息已成为传播的第一大媒介,可以毫不夸张说网络资源获取已逐步改变了人们以前的生活方式,网络已成为人们日常,休闲主要工具。人们记录、分享和发现美食的方式正在逐渐发生改变,因此借助怎......
  • 基于Web的会议记录与分享系统设计与实现---附源码83155
    目  录摘要第1章绪论1.1研究背景与意义1.2开发现状第2章相关技术介绍2.1JAVA技术2.2springboot框架2.3MySQL数据库第3章系统分析3.1可行性分析3.2功能需求分析3.2.1注册用户功能3.3非功能需求分析3.4安全性需求分析3.4.1系统的......
  • 文心智能体“城市印象之走读北京”开发分享
       城市印象之走读北京(baidu.com)    这个智能体为笔者“城市印象”系列当中的作品之一,基于北京丰富的文化旅游资源,侧重于在历史文化方面进行多角度、个性化的城市走读,名为“城市印象之走读北京”。   通过开场白提示,从色彩、季节、器物等角度为使用者......
  • 25届计算机毕设选题推荐-租房数据怎么分析更精准?使用Python结合Hadoop轻松搭建大数据
    博主介绍:✌十余年IT大项目实战经验、在某机构培训学员上千名、专注于本行业领域✌技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫+大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战项目。主要内容:系统功能设计、开题报告......