Hadoop入门
Posted 浴盆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop入门相关的知识,希望对你有一定的参考价值。
大数据包括以Hadoop和Spark为代表的基础大数据框架,包括实时数据处理,离线数据处理,数据分析,数据挖掘和用机器学习进行预测分析。
Hadoop
Hadoop = HDFS(分布式文件系统) + MapReduce(分布式计算)。举个栗子,从100M的文件中读取出指定字符串,首先会想到两种方法
- linux的grep命令
- 编写java代码,读取每行进行匹配
那么如果是100T的文件,就需要通过HDFS来解决存储的问题,MapReduce来解决计算的问题。
HDFS
HDFS使用多机存储,提供了便捷的文件获取api隔离数据存储细节。HDFS使用数据块为单位存储数据,默认大小为64M,一般设置为128M,备份三份(容错机制)。当使用大文件时,可以根据块来分割,存储在不同数据块中。
DataNode用来存储并检索数据块,向NameNode更新所存储数据块的列表。
NameNode用来做数据块管理(主从结点,数据保持一致)
- 管理文件系统的命名空间,存放文件元数据
- 维护着文件系统的所有文件和目录,文件与数据块的映射
- 记录每个文件中各个块所在数据节点的信息
HDFS读写
client向NameNode发起请求要求存储数据,NameNode知道DataNode中哪些还有剩余空间,返回client。client将数据进行分块,传输到DataNode上,同时DataNode自动进行备份,更新信息后返回给NameNode,NameNode返回给client。
HDFS的读流程是这样的,client向NameNode发起读请求,NameNode返回哪个DataNode存储信息,client向DataNode发起请求进行读取。
Hadoop伪分布式模式安装
学习Hadoop一般是在伪分布式模式下进行。这种模式是在一台机器上各个进程上运行Hadoop的各个模块,伪分布式的意思是虽然各个模块是在各个进程上分开运行的,但是只是运行在一个操作系统上的,并不是真正的分布式。
以上是关于Hadoop入门的主要内容,如果未能解决你的问题,请参考以下文章