马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解

时间:2023-02-13 15:48:38

马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动

马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作

马士兵hadoop第三课:java开发hdfs

马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解

马士兵hadoop第五课:java开发Map/Reduce

前三节课主要讲了hdfs,hdfs就是一个分鱼展的大硬盘

分:分块

鱼:冗余

展:动态扩展

接下来讲云计算,也可以理解为分布式计算,其设计原则:

移动计算,而不是移动数据

前面说过,hadoop由hdfs,yarn,map/reduce组成,

而yarn(Yet Another Resource Negotiator)是资源调度系统,yarn调配的是内存和cpu,不参入计算。

map/reduce是计算引擎。

(1)配置yarn

yarn由一台resourceManager和n台dataManager组成,resourceManager管理着n台dataManager,

resourceManager原则上应该和namenode分开,单独在一个节点上,现在是在做实验,为了演示方便,

才放在一起的,而dataManager可以和datanode放在一起,这样dataManager和数据离的近一点,

当然也可以不放在一起。

要启动yarn系统,需要先配置一些参数:

a)配置yarn-size.xml

resourceManager和dataManager每一个节点都需要配置yarn-size.xml,配置如下:

<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property> <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> <property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

b) 配置mapred-site.xml

只需要在master的/usr/local/hadoop/etc/hadoop目录下,

复制mapred-site.xml.template,即执行命令

[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml

编辑mapred-site.xml,vim mapred-site.xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

这是配置map/reduce在哪个系统上运行,这里配置的yarn,也可以配置其他的。

(2)启动yarn

[root@master hadoop]# start-yarn.sh

使用jps查看启动情况

马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解

启动成功后,可在浏览器上查看web界面

马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解

(3)运行一个map/reduce示例程序

要先把hdfs也启动起来:

[root@master hadoop]# start-dfs.sh

上传一个文件到hdfs的/input目录上

#在namenode的根目录上创建input目录
[root@master hadoop]# hadoop fs -mkdir /input
#上传一个测试文件到hadoop的/input目录上
[root@master hadoop]# hadoop fs -put /root/input.txt /input

input.txt的内容如下:

马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解

find /usr/local/hadoop -name *example*.jar 查找示例程序文件

通过hadoop jar xxx.jar wordcount /input /output来运行示例程序

执行结果为:

马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解