YARN

来源:互联网 发布:淘宝大学学富电商 编辑:程序博客网 时间:2024/04/27 19:56

1. YARN 简介

1.1 YARN产生的历史背景

Hadoop的主要项目
1)Hadoop Common: 为其它项目提供一些常用工具,包括系统配置工具Configuration、
远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem。
2)HDFS: 存储管理,实现了对应用程序大吞吐量的访问。
3)Hadoop YARN: 作业调度和集群资源管理的一个框架。
4)Hadoop MapReduce:基于YARN的一个系统,用于并行处理大量的数据集。

Hadoop演进的四大阶段
0)Ad Hoc集群时代
1)Hadoop on Demand
2)共享计算集群的黎明
3)YARN的出现

对YARN的需求:
1)可扩展性
2)可维护性
3)多租户
4)位置感知
5)高集群使用率
6)安全和可审计的操作
7)可靠性和可用性
8)对编程模型多样性的支持
9)灵活的资源模型
10)向后兼容

1.2 MapReduce的基本原理

 Map->(shuffle)->Reduce

1.3 YARN的基本原理和功能组件简介

YARN (Yet Another Resource Negotiator)
YARN的基本思想:
将JobTracker两个主要的功能分离成两个单独的组件,一个全局的ResourceManager和每个应用对应的ApplicationMaster。

YARN的组件:
1)ResourceManager
2)ApplicationMaster
3)资源模型
4)ResourceRequest和Container

2. Hadoop YARN安装

2.1 YARN安装简介

YARN是Hadoop的一个组件Hadoop的各个组件均采用XML文件进行配置,这些配置文件都在etc/hadoop子目录中core-site.xml 配置通用属性hdfs-site.xml 配置HDFS属性mapred-site.xml 配置MapReduce属性yarn-site.xml 配置Yarn属性

三种运行模式:单机模式、伪分布式、全分布式

Hadoop与java版本对应关系:http://wiki.apache.org/hadoop/HadoopJavaVersions

2.2 安装YARN前的准备

Ubuntu14.04
Hadoop2.6 stable

安装JDK及SSH
OpenJDK 1.7

    -apt-get install openjdk-7-jdk
OpenSSH
    -apt-get install ssh    -apt-get install rsync

创建用户和组
创建hadoop组:

    -addgroup hadoop
创建用户hduser并添加到hadoop组中: 
    -adduser --ingroup hadoop hduser

配置SSH的无密码登录
检查hduser是否可以以无密码的方式登录localhost

    -ssh localhost
如果需要输入密码,进行如下操作:
    -ssh -keygen -t dsa    -cat ~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

解压缩Hadoop

    -gunzip hadoop-2.6.0.tar.gz    -tar -xvf hadoop-2.6.0.tar

编辑Hadoop环境变量文件./hadoop-2.6.0/etc/hadoop/hadoop-env.sh
-设置Java Home:export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
-设置hadoop prefix: export HADOOP_PREFIX=/hadoop/hadoop-2.6.0

测试:
-运行$bin/hadoop命令文件

2.3 伪分布式安装

修改etc/hadoop/core-site.xml文件
-fs.defaultFS配置NameNode的URI

    <configuration>        <property>            <name>fs.defaultFS</name>            <value>hdfs://localhost:9000</value>        </property>    </configuration>

修改etc/hadoop/hdfs-site.xml
-dfs.replication设置块的复制数量

    <configuration>        <property>            <name>dfs.replication</name>            <value>1</value>        </property>    </configuration>

修改etc/hadoop/mapred-site.xml
-mapreduce.framework.name配置MapReduce应用使用Yarn框架

    <configuration>        <property>            <name>mapreduce.framework.name</name>            <value>yarn</value>        </property>    </configuration>

修改etc/hadoop/yarn-site.xml
-yarn.nodemanager.aux-services:为NodeManager配置MapReduce应用的Shuffle服务

    <configuration>        <property>            <name>yarn.nodemanager.aux-services</name>            <value>mapreduce_shuffle</value>        </property>    </configuration>

检查Yarn是否安装成功
启动资源管理器和节点管理器守护进程

    -$sbin/start-yarn.sh
访问资源管理器的web接口-http://localhost:8088/
0 0