Home >Database >Mysql Tutorial >搭建yarn(hadoop-2.2.0)环境详细过程

搭建yarn(hadoop-2.2.0)环境详细过程

WBOY
WBOYOriginal
2016-06-07 16:37:201235browse

磨刀不误砍柴工,在这里我们先了解一个问题: MapReduce和YARN是什么关系? 答:YARN并不是下一代MapReduce(MRv2),下一代MapReduce与第一代MapReduce(MRv1)在编程接口、数据处理 引擎(MapTask和ReduceTask)是完全一样的, 可认为MRv2重用了MRv1的这些

磨刀不误砍柴工,在这里我们先了解一个问题:

MapReduce和YARN是什么关系?

答:YARN并不是下一代MapReduce(MRv2),下一代MapReduce与第一代MapReduce(MRv1)在编程接口、数据处理 引擎(MapTask和ReduceTask)是完全一样的, 可认为MRv2重用了MRv1的这些模块,不同的是资源管理和作业管理系统,MRv1中资源管理和作业管理均是由JobTracker实现的,集两个功能 于一身,而在MRv2中,将这两部分分开了,其中,作业管理由ApplicationMaster实现,而资源管理由新增系统YARN完成,由于YARN具有通用性,因此YARN也可以作为其他计算 框架的资源管理系统,不仅限于MapReduce,也是其他计算框架,比如Spark、Storm等, 通常而言,我们一般将运行在YARN上的计算框架称为“X on YARN”,比如“MapReduce On YARN”, "Spark On YARN",“Storm On YARN”等。

Hadoop 2.0由三个子系统组成,分别是HDFS、YARN和MapReduce,其中,YARN是一个崭新的资源管理系统,而MapReduce则只是运行在 YARN上的一个应用,如果把YARN看成一个云操作系统,那么MapReduce可认为是运行在这个操作系统上的App。

2014/7/22 23:41:22

(接)上次写到MapReduce和YARN是什么关系?今天就要正式搭建环境。

搭建环境准备:具体参照《搭建Hadoop-0.20.2环境》一文中的第一步到第六步

系统:Ubuntu-12.04(其他版本也可以)

模式:伪分布式

搭建用户:hadoop

Hadoop-2.2.0下载地址:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.2.0/
选择你需要的安装包,在这里我们选择hadoop-2.2.0.tar.gz
附Hadoop镜像链接地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/

声明1:我配置hadoop-2.2.0的目录是/home/hadoop
声明2:在/home/hadoop下创建了yarn目录hadoop-2.2.0目录和hadoop数据目录都是在yarn目录下。
声明3:在下面的搭建过程中可将/home/hadoop换成你自己的目录。

步骤一:上传hadoop-2.2.0.tar.gz 并解压到/home/hadoop/yarn目录,此时在yarn目录中解压出hadoop-2.2.0目录

<code>sudo chown -R hadoop:hadoop hadoop-2.2.0
</code>

创建Hadoop数据目录:

<code>mkdir -p /home/hadoop/yarn/yarn_data/hdfs/namenode
mkdir -p /home/hadoop/yarn/yarn_data/hdfs/datanode
</code>

配置文件之前先大体介绍一下hadoop-2.2.0目录中的各个文件夹,注意区分与Hadoop1中的改变。

外层的启动脚本在sbin目录

内层的被调用脚本在bin目录

Native的so文件都在lib/native目录

配置程序文件都放置在libexec

配置文件都在etc目录,对应以前版本的conf目录

所有的jar包都在share/hadoop目录下面

步骤二:配置环境变量

在这里我自己没有将环境全局化所以在hadoop-2.2.0中没有配置系统环境/etc/profile
如果配置,执行执行source /etc/profile,使之生效。

步骤三:core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml配置

接下来我们的具体配置就是/home/hadoop/yarn/hadoop-2.2.0/etc/hadoop目录中进行。

core-site.xml配置

<code><configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
        <description>指定NameNode的IP地址和端口号</description>
    </property>
</configuration>
</code>

hdfs-site.xml

<code><configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
        <description>备份数</description>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/yarn/yarn_data/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/yarn/yarn_data/hdfs/datanode</value>
    </property>
</configuration>
</code>

mapred-site.xml

<code><configuration>
    <property> 
        <name>mapreduce.framework.name</name> 
        <value>yarn</value> 
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>localhost:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>localhost:19888</value>
    </property>
</configuration>        
</code>

yarn-site.xml

<code><configuration>
<!-- Site specific YARN configuration properties -->
<property>
  <name>yarn.resourcemanager.address</name>
  <value>localhost:8032</value>
</property>
<property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>localhost:8030</value>
</property>
<property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>localhost:8031</value>
</property>   
<property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>localhost:8033</value>
</property>   
<property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>localhost:8088</value>
</property>  
<property> 
<name>yarn.nodemanager.aux-services</name> 
<value>mapreduce_shuffle</value> 
</property>   
<property> 
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
<value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property> 
</configuration>
</code>

步骤四:slaves配置

因为是伪分布式,所以我们只有localhost

步骤五:将配置好的hadoop-2.2.0分发同步到各个数据节点

因为是伪分布式,这步跳过。

步骤六:格式化NameNode

执行命令:

<code>bin/hdfs namenode –format
</code>

或者

<code>bin/hadoop namenode –format
</code>

步骤七:启动hdfs和yarn

启动hdfs:

<code>sbin/start-dfs.sh
</code>

启动yarn:

<code>sbin/start-yarn.sh
</code>

或者可以执行

<code>sbin/start-all.sh
</code>

一起启动hdfs和yarn。

另外还要启动history服务,不然在面板中不能打开history链接。

<code>sbin/mr-jobhistory-daemon.sh start historyserver
</code>

下面使用jps命令查看启动进程:

<code>4504 ResourceManager
4066 DataNode
4761 NodeManager
5068 JobHistoryServer
4357 SecondaryNameNode
3833 NameNode
5127 Jps
</code>

步骤八:测试

hdfs测试:

<code>在hdfs中创建文件:bin/hadoop fs -mkdir /wordcount
向hdfs中上传文件:bin/hadoop fs /home/hadoop/file2.txt /wordcount
查看hdfs文件目录:hdfs dfs –ls /
</code>

Yarn测试: 运行WordCount测试程序,

<code>bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /wordcount /output2
</code>

具体查看结果:

<code>bin/hadoop fs -cat /output2/*
</code>

结果显示:

<code>hadoop  1
hello   2
java    4
jsp 1
</code>

到这里,hadoop-2.2.0环境搭建结束,配置文件根据具体需求,具体配置。可能有配置不当的地方,若有看到还望指正。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn