`
zhaohuafei
  • 浏览: 27832 次
文章分类
社区版块
存档分类
最新评论

Hadoop读书笔记——基础知识

 
阅读更多
//书非借不能读也,今早从图书馆新书阅览室借来《Hadoop in Action》,最长借期7天。整理读书笔记并留下电子版以供以后方便复习。
Hadoop是一个开源的框架,可编写和运行分布式应用处理大规模数据。专为离线处理和大规模数据分析而设计,避免耗时的数据传输问题,适合一次写入,多次读取。
特性:方便、健壮、可扩展、简单。

MapReduce
分为两个阶段:mapping 和 reducing
每阶段定义一个数据处理函数,称为mapper和reducer
在mapping阶段,MapReduce获取输入数据并将数据单元装入mapper
在ruducing阶段,reducer处理来自mapper的所有输出,并给出最终结果。
简而言之,mapper将输入进行过滤与转换,reducer完成聚合。

处理过程:
1)应用的输入必须组织为一个键/值对的列表list(<k1,v1>)。如,用于处理日志文件的输入格式为list(<Integer line_number,String log_event>);
2)含有键/值对的列表被拆分,通过调用mapper的map函数对每个单独的键/值对<k1,v1>进行处理;
3)所有的mapper输出被聚合到一个包含<k2,v2>对的巨大列表中,所有共享相同k2的对被组织在一起形成新的<k2,list(v2)>.


input
output
map
<k1,v1>
list(<k2,v2>)
reduce
<k2,list(v2)>
list(<k3,v3>)

Hadoop的三种模式:
1.单机模式
配置文件conf为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式不使用HDFS,也不加载任何Hadoop守护进程。该模式主要用于开发调试MapReduce程序的逻辑。

2.伪分布模式
在“单节点集群”运行Hadoop,其中所有的守护进程都运行在同一台机器上。它具备生产集群的所有功能及“节点”,分别运行在不同的JVM上。所有的软件组件都是分布式的,与生产集群的区别仅仅在于系统和硬件规模上。

3.全分布模式
明确地声明NameNode和JobTracker守护进程所在的主机名。HDFS中的文件块默认有3份备份。

模式间的切换:
不要不断地编辑xml文件,而是使用符号链接,为做到这一点,需要为每一种模式分别生成一个配置目录,并相应的放入恰当版本的xml。如,有三个配置文件夹conf.standalone,conf.pseudo,conf.cluster 分别作为三种模式的配置文件。可以使用ln命令实现,如ln -s conf.custer conf.

----------------------------------------------------------------------

节点
1.NameNode
Hadoop分布式计算与分布式存储都采用了主/从(master/slave)结构。分布式存储系统被称为Hadoop文件系统,简称HDFS。NameNode位于HDFS的主端,它指导从端的DataNode执行底层的I/O任务。NameNode是Hadoop的书记员,它跟踪文件如何被分割成文件块,而这些文件块又被哪些节点存储,以及分布式文件系统的整体运行状态是否正常。运行NameNode要消耗大量的内存和I/O资源。

2.DataNode
每一个集群上的从节点都会驻留一个DataNode守护进程,来执行文件系统的工作——将HDFS数据块读取或者写入到本地文件系统的实际文件中。当希望对HDFS文件进行读写时,文件被分割成多个块,由NameNode告知客户端每个数据块驻留在哪个DataNode,客户端直接与DataNode守护进程通信,来处理与数据块相对应的本地文件。而后,DataNode会与其他DataNode通信,复制这些数据块以实现冗余。

3.SecondaryNameNode
是一个用于检测HDFS集群状态的辅助守护进程,它与NameNode通信,根据集群所配置的时间间隔获取HDFS元数据的快照。

4.JobTracker
是应用程序和Hadoop之间的纽带,一旦提交代码到集群上,JobTracker就会确定执行计划,包括决定处理哪些文件,为不同的文件分配节点及监控所有任务的执行 。每个Hadoop集群只有一个JobTracker守护进程,通常运行在服务器集群的主节点上。

5.TaskTracker
管理各个任务在每个从节点上的执行情况。每个TaskTracker负责执行有JobTracker分配的单项任务。

Hadoop集群典型的拓扑图,主/从结构。

HDFS基本的文件命令:
格式: hadoop fs -cmd <args>
其中,cmd代表具体的文件命令,与unix对应的命令相同,args表示可变的参数。
如,
hadoop fs ——获取完整的可用命令列表
hadoop fs -ls / ——返回根目录下/user的信息
hadoop fs -lsr / ——返回根目录下所有文件和子目录
hadoop fs -put example.txt . ——把本地文件复制到HDFS的默认目录中
hadoop fs -put example.txt /user/hadoop
hadoop fs -get example.txt . ——把HDFS中的文件复制到本地
hadoop fs -cat ——在命令行中显示文件内容
hadoop fs -rm ——删除文件
hadoop fs -rmr ——删除目录
分享到:
评论

相关推荐

    hadoop学习笔记.rar

    本文将根据提供的Hadoop学习笔记,深入解析Hadoop的关键概念和实战技巧,帮助读者构建扎实的Hadoop知识体系。 一、Hadoop简介 Hadoop的核心思想源于Google的两篇论文——“GFS”(Google File System)和...

    【Spark研究】极简 Spark 入门笔记——安装和第一个回归程序

    Spark 基础知识点总结 Spark 是一个快速的集群运算平台,以及一系列处理大型数据集的工具包。它最显著的特点就是处理大型数据的能力。 一、Spark 的安装和配置 Spark 的安装和配置其实可以是异常简单的。只需要...

    《走近大数据》读书笔记模板.pptx

    ——基础能力的开放:大数据开放平台的基础能力和应用场景 章节六:安全无小事——大数据安全 * 安全很重要——大数据安全概述:大数据安全的必要性和重要性 * 非法入侵——数据访问安全:大数据安全的技术架构和...

    Talend学习笔记2——mysql文件导入到HDFS

    ### Talend学习笔记2——mysql文件导入到HDFS #### 关键知识点概览 - **Talend Data Integration** - **MySQL 数据库** - **Hadoop 和 HDFS(Hadoop Distributed File System)** #### 详细知识点说明 ##### 1. ...

    hadoop+hive+finebi笔记.rar

    内容概要:让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间。 适合人群:具备一定编程基础人员 能学到什么: HDFS+MapReduce+Hive 基于数据仓库实现离线数据分析的可视化报表开发。 Hadoop...

    hadoop学习资料(一)

    Hadoop学习资料(一)包含了从第一周到第十六周的课程笔记,是作者在深入学习Hadoop过程中积累的知识结晶。这份资料对于那些想要踏入大数据处理领域的初学者或者是正在提升Hadoop技能的人来说,无疑是一份宝贵的资源...

    大数据_Hive_视频_含有笔记

    1. **基础知识准备**:学习Hive之前,建议先了解Hadoop的基本概念和技术原理,因为Hive是建立在Hadoop之上的。 2. **官方文档阅读**:Apache官网提供了丰富的Hive文档资源,包括最新的功能介绍、使用指南等,是学习...

    大数据技术原理学习笔记.docx

    本笔记基于林子雨老师在MOOC上的《大数据技术原理》课程,旨在为IT从业者和大学生提供一个全面了解大数据的基础框架。 首先,我们要认识到大数据的发展背景。随着互联网的普及,以及物联网、社交媒体、移动设备等...

    传智博客大数据三阶段笔记

    在大数据三阶段的学习中,第一阶段通常涉及基础理论和数据存储,如Hadoop的HDFS;第二阶段可能涵盖批处理技术,如MapReduce和Spark;而第三阶段,即实时处理,是大数据处理的高级阶段,关注于如何快速响应不断产生的...

    建科院_大数据四班课堂笔记_1109.rar

    【描述】描述中的信息与标题相同,再次强调了这是一个关于大数据四班在特定日期——11月9日的课堂笔记压缩包。通常,这样的压缩文件会包含文字笔记、课件、代码示例或其他教学辅助材料,便于学习者回顾课程重点和...

    大数据技术培训讲义 基于云计算VDI的大数据教学创新解决方案 厦门大学大数据课程建设配套解决方案 共47页.ppt

    这本书详细介绍了大数据的基础知识,包括大数据的概念、存储、处理、分析和实际应用,非常适合本科或专科层次的大数据技术入门学习。 大数据技术的发展伴随着计算模式和软件技术的演变,从早期的C/S模式到互联网的B...

    BigData-Notes-master

    《大数据技术精要——以BigData-Notes-master为线索》 大数据,作为21世纪信息技术领域的重要里程碑,正引领着一场深刻的科技革命。在我们所探讨的“BigData-Notes-master”项目中,包含了对大数据处理、分析及应用...

    大数据架构技术-吉首大学资料分享.zip

    以上知识点构成了大数据处理的基础框架,通过学习和实践,可以有效提升对大数据架构的理解和应用能力。实时大数据标签提示我们,这组资料可能还涉及了实时数据处理技术,如Spark Streaming或Flink,这些技术能够对...

    华为网络技术大赛模拟题答案和解析

    VLSM允许在有类的IP地址基础上进行更细粒度的子网划分。 **详细解析:** - **定义**:VLSM(Variable Length Subnet Mask)即变长子网掩码,允许在一个IP地址范围内使用不同长度的子网掩码进行子网划分,从而提高IP...

    Scalable-Data:可伸缩数据项目的文档(第1组)

    综上所述,"Scalable-Data"项目可能涵盖的内容广泛,从分布式系统的基础知识到实际的数据处理技巧,再到利用Jupyter Notebook进行交互式分析。对于想要深入了解和实践可伸缩数据处理的人来说,这些文档将是一份宝贵...

    20_udacity_dse:Udacity的数据工程纳米学位资料库

    描述中的信息简洁明了,再次强调了这个压缩包的内容——Udacity的数据工程纳米学位资料。这暗示了压缩包内可能包含了课程的学习材料,如讲义、项目、代码示例等,这些都是学习数据工程的重要资源。 从标签来看,...

    storm 从零到精通 非常实用的文件

    ### Storm 从零到精通知识点解析 #### 一、Storm简介 **1.1 什么是Storm** Apache Storm 是一个开源的分布式实时计算系统,能够处理大量...以上总结了从零开始学习 Storm 的基础知识和技术要点,希望对你有所帮助。

Global site tag (gtag.js) - Google Analytics