Hadoop入门:从客户端提交job到源码解析

下载需积分: 9 | PPT格式 | 1.8MB | 更新于2024-08-17 | 5 浏览量 | 1 下载量 举报
收藏
Hadoop编程入门指南深入探讨了分布式计算框架Hadoop的基础知识和源码分析。首先,文章从分布式系统的概念入手,阐述了分布式处理的软件系统特点,包括分布式操作系统、分布式文件系统和分布式数据库等。Hadoop作为一个重要的分布式存储与计算框架,其核心组件包括Hadoop Distributed File System (HDFS),用于大规模数据存储,以及MapReduce2,一个基于批处理的分布式计算模型。 在Hadoop简介部分,作者通过实例介绍了HDFS的数据分布和容量配置,如HDFSPC-01HD至Hadoop-HDFSHD中的文件分布情况。同时,MapReduce2的工作流程被详细解释,涉及客户端提交Job、Split的划分、Mapper执行map操作、Reducer进行reduce操作,以及Shuffle阶段的数据交换。此外,还提到了资源管理和作业调度,如Nodemanager、Resourcemanager、Application Master等角色的职责。 具体到编程实践,文章提供了一个简单的单词统计功能作为入门示例,输入文件包括"I am Lucy"和"You are not Lucy",以及"Hello world"和"Hello Hadoop"。这部分展示了如何使用InputFormat的 getSplits方法获取输入数据切分,Mapper执行映射操作,以及Reducer合并结果。 在源码层面,讲解了InputFormat.java中的 getSplits()方法,Mapper.java中的map()函数,以及Reducer.java中的reduce()函数的实现细节。这些代码示例对于理解Hadoop的工作原理至关重要。 Hadoop生态系统的组成部分也得到了提及,包括HDFS、YARN(Yet Another Resource Negotiator)以及MapReduce应用的运行环境。通过全面剖析Hadoop的架构和核心组件,读者可以更好地理解和开发Hadoop应用程序。 这篇文章为Hadoop初学者提供了一个扎实的基础,涵盖了分布式系统概念、Hadoop的组件、编程模型、源码解读以及生态系统,帮助读者逐步掌握这个强大的大数据处理工具。

相关推荐

filetype

[root@hadoop04 ~]# hadoop jar ./film2.jar CleanDriver /film/input /film/outputs/cleandata 25/03/15 15:11:24 INFO client.RMProxy: Connecting to ResourceManager at hadoop04/192.168.100.104:8032 Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://hadoop04:9000/film/input already exists at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146) at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:266) at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:139) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1290) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1287) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1762) at org.apache.hadoop.mapreduce.Job.submit(Job.java:1287) at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1308) at CleanDriver.main(CleanDriver.java:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.util.RunJar.run(RunJar.java:226) at org.apache.hadoop.util.RunJar.main(RunJar.java:141) [root@hadoop04 ~]# hdfs dfsadmin -report Configured Capacity: 54716792832 (50.96 GB) Present Capacity: 45412380672 (42.29 GB) DFS Remaining: 45412196352 (42.29 GB) DFS Used: 184320 (180 KB) DFS Used%: 0.00% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0 Missing blocks (with replication factor 1): 0 ------------------------------------------------- Live datanodes (3): Name: 192.168.100.105:50010 (hadoop05) Hostname: hadoop05 Decommission Status : Normal Configured Capacity: 18238930944 (16.99 GB) DFS Used: 61440 (60 KB) Non DFS Used: 3007356928 (2.80 GB) DFS Remaining: 15231512576 (14.19 GB) DFS Used%: 0.00% DFS Remaining%: 83.51% Configured Cache Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Sat Mar 15 15:11:46 CST 2025 Name: 192.168.100.104:50010 (hadoop04) Hostname: hadoop04 Decommission Status : Normal Configured Capacity: 18238930944 (16.99 GB) DFS Used: 61440 (60 KB) Non DFS Used: 3289276416 (3.06 GB) DFS Remaining: 14949593088 (13.92 GB) DFS Used%: 0.00% DFS Remaining%: 81.97% Configured Cache Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Sat Mar 15 15:11:46 CST 2025 Name: 192.168.100.106:50010 (hadoop06) Hostname: hadoop06 Decommission Status : Normal Configured Capacity: 18238930944 (16.99 GB) DFS Used: 61440 (60 KB) Non DFS Used: 3007778816 (2.80 GB) DFS Remaining: 15231090688 (14.19 GB) DFS Used%: 0.00% DFS Remaining%: 83.51% Configured Cache Capacity: 0 (0 B) Cache Used: 0 (0 B) Cache Remaining: 0 (0 B) Cache Used%: 100.00% Cache Remaining%: 0.00% Xceivers: 1 Last contact: Sat Mar 15 15:11:46 CST 2025 [root@hadoop04 ~]#

14 浏览量
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部