hadoop 大数据主要生态组成架构图以及描述

  • HDFS 高吞吐量的分布式文件系统
  • YARN 用于任务调度和资源管理及分配的框架
  • MapReduce 运行与YARN之上,用于并行处理大数据的框架
  • Zookeeper 高性能的分布式应用协调服务
  • Flume 日志收集服务,用于将大量日志数据冲不同的来源收集、聚合、最终移动到一个具体中心进行存续
  • Sqoop 用于将关系型数据库与hadoop文件系统进行导入导出的工具
  • Kafka 高吞吐量的分布式消息发布和订阅系统
  • Hbase 一个可伸缩的分布式数据库,支持大型的表结构化存储,底层有HDFA支持
    同时依赖zookeeper进行集群协调服务
  • Elastic Search 分布式全文索引引擎
  • Hive 给予Hadoop 的数据仓库,可以将结构化的数据隐射为一张数据库表,并提供简单的查询,可以使用MapReduce 运行任务
  • Storm 一个分布式实时计算框架
  • Spark 一个快速通用的hadoop数据计算引擎,提供了简单而又强大的编程模型,支持广泛的应用程序包括ETL,机器学习,流处理,图形计算等

YARN 的基本架构

图片.png

YARN 各个角色的作用

  1. client 客户端提交任务
  2. ResourceManager 接受客户端请求
    启动和管理各个应用程序的1ApplicationMaster
    接受ApplicationMaster 的资源申请,并为其分配Container
    管理NodeManager ,接受2来自NodeManager 的资源和节点的监控情况汇报
  3. NodeManager 是集群中资源和任务的管理器,负责汇报节点上的资源使用情况,同时会接受来自ApplicationMaster 的对Container 的启动或者停止请求
  4. Task 应用程序具体执行的任务一个应用程序可以有多个任务,如一个MapReduce程序可以包含·多个map任务和多个reduce 任务
  5. Container 是yarn 中资源分配·的基本单位。是封装了内存和cpu 等的一个容器,相当于一个Task 运行环境的抽象
  6. ApplicationMaster 负责应用程序的管理,它为应用程序项ResourceManager申请资源,并将资源分配给相应的应用程序的task,一个应用程序对应一个ApplicationMaster

Hadoop 3.x 非高可用集群搭建

图片.png

1:在/home/hadoop 下新建两个文件夹 softwares 存放安装包 modules保存安装的模块
mkdir softwares
mkdir modules

下载 hadoop 的压缩包
分别上传到
hadoop001
hadoop002
hadoop003
的 /home/hadoop/softwares

2:在三个机器上都执行解压命令
tar -zxf hadoop-3.3.6.tar.gz -C ../modules

3:在三个机器上都修改 /etc/profile 文件,添加环境变量(/home/hadoop/modules/hadoop-3.3.6/sbin)
sudo vim /etc/profile
在文件末尾加上
export HADOOP_HOME=/home/hadoop/modules/hadoop-3.3.6
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

保存之后 刷新配置文件
sudo source /etc/profile
输入 hadoop 命令检查环境变量安装是否成功

4:三台机器都修改 hadoop 的配置文件
hadoop-env.sh
mapred-env.sh
yarn-env.sh
在其中分别加上 JAVA_HOME 环境变量
export JAVA_HOME=/usr/local/jdk17

5:修改 HDFS 配置文件
修改 core-site.xml 加入以下的内容

6:修改yarn 配置文件

7: 格式化NameNode

8:启动hadoop

9:测试 wordCount


WL
1 声望2 粉丝