Hadoop概述
Hadoop是一个适合海量数据存储的分布式存储和分布式计算的平台。
Hadoop Modules
- Hadoop Common: The common utilities that support the other Hadoop modules.
- Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data.
- Hadoop YARN: A framework for job scheduling and cluster resource management.
- Hadoop MapReduce:A YARN-based system for parallel processing of large data sets.
- Hadoop Ozone:An object store for Hadoop.
- Hadoop Submarine:A machine learning engine for Hadoop.
Hadoop 三大组件
- hdfs:是一个分布式存储框架,适合海量数据存储
- mapreduce:是一个分布式计算框架,适合海量数据计算
-
yarn:是一个资源调度平台,负责给计算框架分配计算资源
Hadoop 版本介绍
- Apache hadoop:官方版本
- Cloudera hadoop(CDH): 使用下载最多的版本,稳定,有商业支持(收费),在Apache的基础上打上了一些patch。推荐使用。
- HortonWorks(HDP):基于Apache的版本进行了集成,结合Ambari可以实现平台化快速安装部署
Hadoop 运行模式
单机模式
- 默认模式
- 不对配置文件进行修改
- 使用本地文件系统,而不是分布式文件系统
- Hadoop不会启动NameNode、DataNode、JobTrack、TaskTracker等守护进程,Map()和Reduce()任务作为同一个进程的不同部分进行执行
- 用于对MapReduce程序的逻辑进行调试,确保程序的正确
伪分布式模式
- 在一台主机模拟多主机
- Hadoop启动NameNode、DataNode、JobTracker、TaskTracker这些守护进程都在同一台机器上运行,是相互独立的Java进程
- 在这种模式下,Hadoop使用的是分布式文件系统,各个作业由JobTracker服务、管理的独立进程。在单机模式之上增加了代码调试功能。允许检查内存使用情况,HDFS输入输出以及其他的守护进程进行交互。类似于完全分布式模式,因此,这种模式用于开发测试Hadoop程序的执行是否正确
- 修改4个配置文件 core-site.xml(Hadoop集群的特性,作用于全部进程及客户端)、hdfs-site.xml(配置HDFS集群的工作属性)、mapred-site.xml(配置MapReduce集群的属性)、yarn-site.xml(配置Yarn的集群属性)
- 格式化文件系统
完全分布式模式
- Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境
- 在所有的主机上安装JDK和Hadoop,组成相互连通的网络。
- 在主机间设置SSH免密码登录,把各从节点生成的公钥添加到主节点的信任列表
- 修改4个配置文件 core-site.xml(Hadoop集群的特性,作用于全部进程及客户端)、hdfs-site.xml(配置HDFS集群的工作属性)、mapred-site.xml(配置MapReduce集群的属性)、yarn-site.xml(配置Yarn的集群属性)
- 格式化文件系统