rak*_*esh 5 apache-spark spark-streaming
我们有一个 spark 1.6.1 应用程序,它从两个 kafka 主题中获取输入并将结果写入另一个 kafka 主题。应用程序在第一个输入主题中接收一些大(大约 1MB)文件,并从第二个输入主题接收一些简单的条件。如果满足条件,则将文件写入输出主题 else 中的状态(我们使用 mapWithState)。
该逻辑适用于较少(几百)数量的输入文件,但失败org.apache.spark.rpc.RpcTimeoutException并建议增加spark.rpc.askTimeout. 从默认值(120 秒)增加到 300 秒后,运行时间更长,但在 1 小时后因相同的错误而崩溃。把值改成500s后,工作正常运行了2个多小时。
注意:我们在本地模式下运行 spark 作业,而 kafka 也在机器本地运行。另外,有一段时间我看到警告"[2016-09-06 17:36:05,491] [WARN] - [org.apache.spark.storage.MemoryStore] - Not enough space to cache rdd_2123_0 in memory! (computed 2.6 GB so far)"
现在,考虑到所有本地配置,300 秒似乎足够大了。但是任何想法,如何根据测试得出理想的超时值,而不是仅使用 500 秒或更高,因为我看到使用 800 秒的崩溃案例和建议使用 60000 秒的案例?
| 归档时间: |
|
| 查看次数: |
5817 次 |
| 最近记录: |