在EMR客户端模式以及集群模式下,在纱线上Spark spark java自定义接收器问题。Spark Streaming JavaCustomReceiver
以下是问题所在。
当我们在EMR集群(纱线)上运行SparkCustomReader的JavaCustomReceiver时,它会随机地绑定一个执行程序的侦听器。因此,我们所要做的就是将所有传入流量转移到随机选择的IP。
事情变得更糟,当执行者失败时。重新启动后,它会尝试将侦听器绑定到另一个执行器上,并再次随机选择。我们再次需要将传入流量转移到新选择的节点。
我的问题是: 1.我们不能将侦听器绑定在我们选择的特定执行器上吗? (修复侦听器绑定的ip) 如果不是...... 2.有没有我们可以通过它以编程方式知道在哪个执行器上重新启动了侦听器? (因为它选择随机节点来启动该接收器) 而最重要的是。 3.我们不能在驱动程序运行的节点上绑定侦听器吗? (客户端模式下运行时)
FYI
我们已经尝试过接收器的超类的preferredLocation,但我们并没有运气一样。
任何帮助,这是高度赞赏。
我试过这个,但它无法帮助。暂时我只通过在本地模式下运行来解决问题,现在放弃了Cluter模式的想法。对于可伸缩性,我仍然需要解决问题中列出的问题。不管怎么说,多谢拉。 – desaiankitb