大数据学习之路9-yarn集群基本概念解释,安装启动

YARN:接收客户端提交过来的程序jar包,并帮助客户端,在服务端上分配内存+cpu资源,并帮用户启动jar中的程序。

在yarn中的老大是Resource Manager,小弟是Node Manager

在使用yarn的时候我们需要配好机器上可用的总内存,可用的总cpu。

Resource Manager在哪里无所谓,但是Node Manager最好和datanode在同一台机器上。假如maptask需要从hdfs读数据的时候,如果Node Manager和datanode在一台机器上的话文件就相当于本机传送,速度就会很快。

接下来我们就需要配置yarn的环境了:我们需要配置yarn-site.xml

这里的yarn.resourcemanager.aux-services希望yarn能够提供辅助服务,可以帮助mapreduce。

这里的yarn.nodemanager.resource.memory-mb指定了一个nodemanager节点的内存资源。这里我们至少需要指定2g.为什么呢?

因为真正启动maptask和reducetask的是MrAppMaster这个程序,但是它不参与数据处理,而这个程序要在yarn上运行也要占内存,cpu。MrAppMaster最少也要1.5g内存。如果nodemanager只有1g,那么将来运行这个程序的时候,nodemanager满足不了MrAppMaster的要求就执行不了。但是数据量小的时候这个程序根本用不到1.5g。只要能够启动就可以。可能只有一两百M。

这里的yarn.nodemanager.resource.cpu-vcores指定了一个nodemanager节点的cpu核数。

这里的核数其实是个比例关系。比如一个nodemanager可以运行两个maptask。假设一个maptask需要1g,由于我们分配了2g内存,所以我们就可以分配两个maptask,如果我们只分配了一个cpu,就只能运行一个maptask,分配两个cpu我们就可以运行两个maptask。

我们不需要配置nodemanager在哪里,他和datanode一样,在哪里启动就在哪里。因为他们都可以读配置文件知道老大在哪里。

启动nodemanager的时候和datanode一样同样会读取slaves文件。

配置好yarn-site.xml之后我们将它传送到其他机器上:

启动yarn:

start-yarn.sh

yarn也有web服务:

猜你喜欢

转载自blog.csdn.net/qq_37050372/article/details/81623580