简介
- Hadoop是一个由Apache基金会所开发的分布式系统基础架构
- 主要解决海量数据的存储和海量数据的分析计算问题
Hadoop组成
1. 架构
2. HDFS(Hadoop Distributed FileSystem)
简称HDFS,是一个分布式文件系统
2.1. 架构
2.1.1 NameNode(nn)
存储文件的元数据,如文件名
、文件目录结构
、文件属性
以及每个文件的块列表
和块所在的DataNode
等
2.1.2 DataNode(dn)
在本地文件系统存储文件块数据
,以及块数据的校验和
2.1.3 Secnday NameNode(2nn)
每隔一段时间对NameNode元数据备份
3. YARN(YetAnother Resource Negotiator)
简称YARN,另一种资源协调者,是Hadoop的资源管理器
3.1 架构
- 客户端可能多个
- 集群上可以运行多个ApplicationMaster
- 每个NodeManager上可以有多个Container
3.1.1 Resource Manager(RM)
管理整个集群的内存和Cpu
3.1.2 Node Manager(NM)
管理单节点的内存和Cpu
3.1.3 ApplicationMaster(AM)
单个任务运行的老大
3.1.4 Container
相当一台独立的服务器,里面封装了运行所需要的资源
4. MapReduce
4.1 架构
4.1.1 Map
4.1.2 Reduce
Hadoop安装
1. 配置文件
1.1 默认配置文件
文件名 | 位置 |
---|---|
core-default.xml | hadoop-common-3.1.3.jar/comre-default.xml |
hdfs-default.xml | hadoop-hdfs-3.1.3.jar/hdfs-default.xml |
yarn-default.xml | hadoop-yarn-common-3.1.3.jar/yarn-default.xml |
mapred-default.xml | hadoop-mapreduce-client-3.1.3.jar/mapred-default.xml |
1.2 自定义配置文件
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
四个配置文件存放在$HADOOP_HOME/etc/hadoop
路径上
1.3 workers
- 路径
$HADOOP_HOME/etc/workers
- 默认localhost
- 不允许有行尾空格
- 不允许有空行
2. 启动集群
2.1 节点格式化
hdfs namenode -format
如果集群是第一次启动,需要在
hadoop102
节点格式化 NameNode,格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式化。
2.2 启动HDFS
sbin/start-dfs .sh
2.3 启动 YARN
sbin/start-yarn.sh
Yarn
基础架构
ResourceManager
- `NodeManager``
ApplicationMaster
Container