繁体   English   中英

批次联结作业导致纱线簇性能低下

[英]Low performance of yarn cluster with batch flink jobs

我出于测试目的在纱线上玩flink,我具有以下设置:

3台AWS机器(32核和64 GB内存)

我手动安装了带有hdfs和yarn服务的Hadoop 2(不使用EMR)。

#1机器运行在主文件中定义的HDFS-(NameNode&SeconderyNameNode)和YARN-(resourcemanager)

#2机器运行HDFS-(datanode)和YARN-(nodemanager),在slaves文件中定义

#3机器运行HDFS-(datanode)和YARN-(nodemanager),在slaves文件中定义

我想提交Apache flink作业,该作业从hdfs读取大约20GB的日志,然后对其进行处理,然后将结果存储在cassandra中

问题是我认为我做错了,因为这项工作花费大量时间,大约一个小时,而且我认为它不是很优化。

我使用以下命令运行flink:

./flink-1.3.0/bin/flink运行-yn 2 -ys 30 -yjm 7000 -ytm 8000 -m yarn-cluster /home/ubuntu/reports_script-1.0-SNAPSHOT.jar

而且我在flink日志上看到有60个任务槽正在使用中,但是当我查看yarn页面时,我看到vcore和内存的使用率非常低

Hadoop纱线页面

我究竟做错了什么?

需要注意的几件事:

  • 每个TaskManager容器的vcore数量的默认值为1。 要增加它,请使用yarn.containers.vcores参数。 除非您使用容器执行程序来强制容器仅使用vcore使用许多CPU内核,否则它可能对工作完全没有影响(并且在YARN UI中看起来很奇怪)。

  • 为TaskManager提供7GB内存意味着它实际上将获得约5.2 GB的JVM堆,因为对JVM采取了一些措施。 5.3GB的30个插槽意味着每个插槽约170 MB的内存。 那行得通,但是实际上并不很多。

  • 检查Flink Web UI,以确保您的作业确实以适当的并行度运行。 您还可以检查时间在哪里(执行哪个操作)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM