hadoop的相关操作

一.hadoop与hadoop生态圈

Apache Hadoop:是一款分布式开源应用程序,主要解决海量数据的存储和分布式计算问题

Hadoop生态圈:是更广泛的概念,包含hadoop,sqoop,flume,zookeeper,hive,spark,hbase,oozie等构成的大数据处理相关一系统组件

hadoop版本介绍

hadoop1.x的组成:

Common(辅助工具):支持其他模块的工具(Configuration,RPC,序列化机制,日志操作等)

MapReduce(资源调度+计算):一个分布式的资源调度和离线并行计算框架

HDFS(数据存储):一个高可靠,高吞吐量的分布式文件系统

hadoop2.x的组成(新增了Yarn调度):

Common(辅助工具):支持其他模块的工具(Configuration,RPC,序列化机制,日志操作等)

MapReduce(计算):一个分布式的离线并行计算框架

HDFS(数据存储):一个高可靠,高吞吐量的分布式文件系统

Yarn(资源调度):作业调度与集群资源管理的框架

hadoop3.x的组成(整体架构无变化):略

二.hadoop架构

HDFS架构:

1.NameNode:存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限等),及每个文件的块列表和块所在的DataNode等

2.DataNode:在本地文件系统存储文件块数据,以及块数据的校验和

3.Secondary NameNode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照

YARN架构:

1.ResourceManager:处理客户端请求,启动/监控ApplicationMaster,监控NodeManager,资源分配和调度

2.NodeManager:单个节点上的资源管理,处理来自ResourceManager的命令,处理来自ApplicationMaster的命令

3.ApplicationMaster:数据切分,为应用程序申请资源,分配给内部任务,任务监控和容错

4.Container:对任务运行环境的抽象,封装了CPU,内存等多维资源以及环境变量,启动命令等任务运行相关的信息

MapReduce架构:

MapReduce主要负责任务的计算,MapReduce将计算过程分为两个阶段,Map阶段和Reduce阶段

Map阶段:并行处理输入数据

Reduce阶段:对Map阶段的结果进行汇总

三.hdfs的读写流程

从hdfs读取数据的流程:

1.client向NameNode请求读取文件

2.NameNode向client返回元数据信息(各个块的位置)

3.client向DataNode请求第1个块的数据

4.DataNode向client响应第1个块的数据

5.client向DataNode请求第2个块的数据

...

向hdfs写入数据的流程:

1.client向NameNode请求写入文件

2.NameNode执行不同的检查:如权限,文件是否存在等,如果查询通过则为新文件创建条记录

3.client向DataNode请求写入第1个块的数据

4.DataNode进行块复制

...

四.hdfs的客户端命令:

Usage: hadoop fs [generic options]

-appendToFile ...

-cat \[-ignoreCrc\] ...

-checksum ...

-chgrp \[-R\] GROUP PATH...

-chmod \[-R\] \ PATH...

-chown \[-R\] \[OWNER\]\[:\[GROUP\]\] PATH...

-copyFromLocal \[-f\] \[-p\] \[-l\] \[-d\] \[-t \] ...

-copyToLocal \[-f\] \[-p\] \[-ignoreCrc\] \[-crc\] ...

-count \[-q\] \[-h\] \[-v\] \[-t \[\]\] \[-u\] \[-x\] \[-e\] ...

-cp \[-f\] \[-p \| -p\[topax\]\] \[-d\] ...

-createSnapshot \[\]

-deleteSnapshot

-df \[-h\] \[ ...\]

-du \[-s\] \[-h\] \[-v\] \[-x\] ...

-expunge

-find ... ...

-get \[-f\] \[-p\] \[-ignoreCrc\] \[-crc\] ...

-getfacl \[-R\]

-getfattr \[-R\] {-n name \| -d} \[-e en\]

-getmerge \[-nl\] \[-skip-empty-file\]

-head

-help \[cmd ...\]

-ls \[-C\] \[-d\] \[-h\] \[-q\] \[-R\] \[-t\] \[-S\] \[-r\] \[-u\] \[-e\] \[ ...\]

-mkdir \[-p\] ...

-moveFromLocal ...

-moveToLocal

-mv ...

-put \[-f\] \[-p\] \[-l\] \[-d\] ...

-renameSnapshot

-rm \[-f\] \[-r\|-R\] \[-skipTrash\] \[-safely\] ...

-rmdir \[--ignore-fail-on-non-empty

...]

-setfacl \[-R\] \[{-b\|-k} {-m\|-x \} \]\|\[--set \ \]

-setfattr {-n name \[-v value\] \| -x name}

-setrep \[-R\] \[-w\] ...

-stat \[format\] ...

-tail \[-f\]

-test -\[defsz\]

-text \[-ignoreCrc\] ...

-touchz ...

-trace

-truncate \[-w\] ...

-usage \[cmd ...\]

五.hdfs的api操作(使用java程序来访问HDFS):略

1.创建maven工程

2.导入相应的依赖

3.配置log4j

mapreduce的客户端操作(使用java程序来提交mapreduce作业):略

相关推荐
武子康16 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天17 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库4 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟4 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长4 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计