簡體   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