簡體   English   中英

使用EMR的Apache flink的AWS配置

[英]AWS configuration for Apache flink using EMR

我有一個生產者應用程序,它以每秒600條記錄的速度寫入Kinesis流。 我已經編寫了一個Apache flink應用程序來讀取/處理和聚合此流數據,並將聚合的輸出寫入AWS Redshift。

每條記錄的平均大小為2KB。 此應用程序將以24 * 7運行。

我想知道我的AWS EMR集群應該是什么配置。 我需要多少個節點? 我應該使用什么EC2實例類型(R3 / C3)。

除了性能方面,成本對我們也很重要。

是否使用r3 / c3取決於您的應用程序正在使用的許多資源。

我假設您正在使用窗口或某些狀態運算符來執行聚合。 有狀態操作員將在配置的StateBackend中維護狀態https://ci.apache.org/projects/flink/flink-docs-release-1.3/ops/state_backends.html#state-backends

因此,您可以通過在c3類型實例上嘗試應用程序來首先檢查狀態是否適合內存(如果您打算使用FSStateBackend)。 您可以使用JVisualVM檢查內存利用率。 另外,嘗試在此處檢查CPU利用率。

使用r3類型的實例,使用c3提供的相同數量的CPU,您將獲得更多的內存。 例如:c3.4xlarge實例提供16個vCPU,每個節點30GB內存,而r34xlarge實例提供16vCPU,每個節點122GB內存。

因此,取決於您的應用程序應使用哪種類型的實例。

對於價格比較,您可以參考以下網址http : //www.ec2instances.info/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM