磨刀不误砍柴工,在这里我们先了解一个问题:
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目录
sudo chown -r hadoop:hadoop hadoop-2.2.0
创建hadoop数据目录:
mkdir -p /home/hadoop/yarn/yarn_data/hdfs/namenodemkdir -p /home/hadoop/yarn/yarn_data/hdfs/datanode
配置文件之前先大体介绍一下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配置
fs.default.namehdfs://localhost:9000指定namenode的ip地址和端口号
hdfs-site.xml
dfs.replication2备份数dfs.namenode.name.dirfile:/home/hadoop/yarn/yarn_data/hdfs/namenodedfs.datanode.data.dirfile:/home/hadoop/yarn/yarn_data/hdfs/datanode
mapred-site.xml
mapreduce.framework.nameyarnmapreduce.jobhistory.addresslocalhost:10020mapreduce.jobhistory.webapp.addresslocalhost:19888
yarn-site.xml
yarn.resourcemanager.addresslocalhost:8032yarn.resourcemanager.scheduler.addresslocalhost:8030yarn.resourcemanager.resource-tracker.addresslocalhost:8031yarn.resourcemanager.admin.addresslocalhost:8033yarn.resourcemanager.webapp.addresslocalhost:8088yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.shufflehandler
步骤四:slaves配置
因为是伪分布式,所以我们只有localhost
步骤五:将配置好的hadoop-2.2.0分发同步到各个数据节点
因为是伪分布式,这步跳过。
步骤六:格式化namenode
执行命令:
bin/hdfs namenode –format
或者
bin/hadoop namenode –format
步骤七:启动hdfs和yarn
启动hdfs:
sbin/start-dfs.sh
启动yarn:
sbin/start-yarn.sh
或者可以执行
sbin/start-all.sh
一起启动hdfs和yarn。
另外还要启动history服务,不然在面板中不能打开history链接。
sbin/mr-jobhistory-daemon.sh start historyserver
下面使用jps命令查看启动进程:
4504 resourcemanager4066 datanode4761 nodemanager5068 jobhistoryserver4357 secondarynamenode3833 namenode5127 jps
步骤八:测试
hdfs测试:
在hdfs中创建文件:bin/hadoop fs -mkdir /wordcount向hdfs中上传文件:bin/hadoop fs /home/hadoop/file2.txt /wordcount查看hdfs文件目录:hdfs dfs –ls /
yarn测试: 运行wordcount测试程序,
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /wordcount /output2
具体查看结果:
bin/hadoop fs -cat /output2/*
结果显示:
hadoop 1hello 2java 4jsp 1
到这里,hadoop-2.2.0环境搭建结束,配置文件根据具体需求,具体配置。可能有配置不当的地方,若有看到还望指正。
原文地址:搭建yarn(hadoop-2.2.0)环境详细过程, 感谢原作者分享。
