首页 > 数据库 > mysql教程 > 搭建yarn(hadoop-2.2.0)环境详细过程

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

WBOY
发布: 2016-06-07 16:37:20
原创
1246 人浏览过

磨刀不误砍柴工,在这里我们先了解一个问题: 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环境搭建结束,配置文件根据具体需求,具体配置。可能有配置不当的地方,若有看到还望指正。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板