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] <MODE[,MODE]… | OCTALMODE> 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 <acl_spec>} ]|[–set <acl_spec> ]]
[-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作业):略

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值